os-prober doesn't detect Windows partition but the recovery partition instead

Bug #772470 reported by Jean-Baptiste Lallement on 2011-04-28
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
migration-assistant (Ubuntu)
Undecided
Stéphane Graber
Oneiric
Undecided
Unassigned
Precise
Undecided
Stéphane Graber
os-prober (Ubuntu)
Undecided
Stéphane Graber
Oneiric
Undecided
Unassigned
Precise
Undecided
Stéphane Graber
ubiquity (Ubuntu)
High
Stéphane Graber
Oneiric
High
Unassigned
Precise
High
Stéphane Graber

Bug Description

Binary package hint: os-prober

With the following setup
Disque /dev/sda : 38913 cylindres, 255 têtes, 63 secteurs/piste
Unités= cylindres de 8225280 octets, blocs de 1024 octets, décompte à partir de 0

   Périph Amor Début Fin #cyls #blocs Id Système
/dev/sda1 0+ 12 13- 104391 de Dell Utility
/dev/sda2 * 13+ 1925- 1913- 15360000 7 HPFS/NTFS
/dev/sda3 1925+ 19790- 17866- 143505752 7 HPFS/NTFS
/dev/sda4 19790+ 38913- 19123- 153598976 7 HPFS/NTFS

sda1: Manufacturer utilities
sda2: Recovery
sda3: Windows7
sda4: Additional primary partition

os-prober returns sda2 instead of sda3.
This has the following consequences with ubiquity:
1. Wubi is not proposed as an option
2. Migration assistant is skipped

Excepted sda4 this is the default partitioning scheme from the manufacturer

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: os-prober 1.44ubuntu1
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
Date: Thu Apr 28 17:34:56 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
ProcEnviron:
 LANGUAGE=fr_FR:en
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: os-prober
UpgradeStatus: No upgrade log present (probably fresh install)

Jean-Baptiste Lallement (jibel) wrote :
tags: added: iso-testing
Jean-Baptiste Lallement (jibel) wrote :

still an issue with Oneiric Beta 1

Changed in os-prober (Ubuntu Oneiric):
importance: Undecided → High
tags: added: rls-mgr-o-tracking
Steve Langasek (vorlon) on 2011-09-22
Changed in os-prober (Ubuntu Oneiric):
assignee: nobody → Colin Watson (cjwatson)
Colin Watson (cjwatson) wrote :

Please attach (or mail me privately) the /boot/bcd files on each of /dev/sda2 and /dev/sda3.

Changed in os-prober (Ubuntu Oneiric):
status: New → Triaged
status: Triaged → Incomplete
Jean-Baptiste Lallement (jibel) wrote :

Here is boot/bcd from sda2. It doesn't exist on /dev/sda3

Changed in os-prober (Ubuntu Oneiric):
status: Incomplete → Confirmed
Colin Watson (cjwatson) wrote :

In that case, this is correct behaviour from os-prober. It's supposed to return the thing you can boot. In this case, the Windows boot loader is on sda2, so it returned that.

Ubiquity is going to need to change to track down the actual Windows root filesystem associated with a boot partition (somewhat like the way linux-boot-prober tracks down more information for Linux boot partitions). However, I'm going to bump this to P-series, as I think this is going to be too invasive for Oneiric, although I realise it's a problem.

affects: os-prober (Ubuntu Oneiric) → ubiquity (Ubuntu Oneiric)
Changed in ubiquity (Ubuntu Oneiric):
assignee: Colin Watson (cjwatson) → nobody
status: Confirmed → Won't Fix
Changed in ubiquity (Ubuntu):
assignee: Colin Watson (cjwatson) → Ubuntu Installer Team (ubuntu-installer)
status: Confirmed → Triaged
tags: added: rls-mgr-p-tracking
removed: rls-mgr-o-tracking
Evan (ev) wrote :

I agree. It's far too late to fix this in ubiquity for Oneiric.

Brad Figg (brad-figg) on 2011-09-29
tags: added: rls-mgr-o-tracking
tags: removed: rls-mgr-o-tracking
Steve Langasek (vorlon) on 2011-10-26
tags: added: rls-p-tracking
Steve Langasek (vorlon) on 2011-11-16
Changed in ubiquity (Ubuntu Precise):
milestone: none → ubuntu-12.04
Steve Langasek (vorlon) on 2012-03-08
Changed in ubiquity (Ubuntu Precise):
assignee: Ubuntu Installer Team (ubuntu-installer) → Stéphane Graber (stgraber)
Jean-Baptiste Lallement (jibel) wrote :

output of os-prober
/dev/sda2:Windows 7 (loader):Windows:chain

Stéphane Graber (stgraber) wrote :

I have a fix for the wubi part of the bug, tested to work here with Windows 8 + recovery.

Stéphane Graber (stgraber) wrote :

Got it working here. Here are the changes required:

ubiquity: http://paste.ubuntu.com/915020/
os-prober: http://paste.ubuntu.com/915023/
migration-assistant: http://paste.ubuntu.com/915030/

I made it an environment variable instead of a command parameter as os-prober currently doesn't have any parameters and the environment variable seemed like the easiest way of getting the feature with a minimal amount of changes.

Stéphane Graber (stgraber) wrote :

The wubi part of the fix mentioned above is already in ubiquity's trunk branch as I'm pretty sure it was the right way of fixing it and I confirmed it to be working. That commit also fixed 2-3 other bugs I found in that specific part of the code but that weren't reported that I could find.
That's:
 - ubiquity doesn't reboot when clicking on the continue/restart button after selecting wubi
 - wubi check fails when you have more than one Windows partition

Stéphane Graber (stgraber) wrote :

Post-install result looks like it worked, install succeeded and I see some Windows looking directories in my user's Documents directory, though no specific content as my Windows install doesn't contain any.

Changed in ubiquity (Ubuntu Precise):
status: Triaged → In Progress
Changed in os-prober (Ubuntu Oneiric):
status: New → Won't Fix
Changed in os-prober (Ubuntu Precise):
status: New → Fix Committed
assignee: nobody → Stéphane Graber (stgraber)
Changed in ubiquity (Ubuntu Precise):
status: In Progress → Fix Committed
Changed in migration-assistant (Ubuntu Oneiric):
status: New → Won't Fix
Changed in migration-assistant (Ubuntu Precise):
status: New → Fix Committed
assignee: nobody → Stéphane Graber (stgraber)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package os-prober - 1.51ubuntu3

---------------
os-prober (1.51ubuntu3) precise; urgency=low

  * When called with WINOSDATA, return the list of Windows partitions
    containing the system instead of only listing these containing the
    bootrecord. (LP: #772470)
 -- Stephane Graber <email address hidden> Wed, 04 Apr 2012 18:34:56 -0400

Changed in os-prober (Ubuntu Precise):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package migration-assistant - 0.6.12

---------------
migration-assistant (0.6.12) precise; urgency=low

  * Call os-prober with WINOSDATA set to true so that we only get a list
    of Windows partitions containing the OS instead of only these containing
    the boot record. (LP: #772470)
 -- Stephane Graber <email address hidden> Wed, 04 Apr 2012 18:38:32 -0400

Changed in migration-assistant (Ubuntu Precise):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.10.7

---------------
ubiquity (2.10.7) precise; urgency=low

  [ Colin Watson ]
  * Fix partman plugin to preseed grub-installer/bootdev in a cleanup method
    rather than exit_ui_loops, since talking to debconf in the latter isn't
    safe (LP: #792652). Adjust how maybe_update_grub gets the default boot
    device to avoid regressing LP #756920.

  [ Stéphane Graber ]
  * Add support for Windows 8 user directory detection.
  * Make wubi work when the OS data partition is different from the boot
    partition. (LP: #772470)
  * Call gsettings through dbus-launch in an hope to ensure its changes
    are saved to disk. (LP: #960096)
  * Make ubiquity depend on dbus-x11 for dbus-launch.
  * Update compat/os-proper to make a different cache when listing OS
    data partitions. (LP: #772470)
  * Automatic update of included source packages: migration-assistant
    0.6.12.
 -- Stephane Graber <email address hidden> Wed, 04 Apr 2012 20:56:08 -0400

Changed in ubiquity (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers