Bug 832824

Summary: Can't boot Windows XP with grub2 from Fedora 17
Product: [Fedora] Fedora Reporter: Roy A. Gilmore <rag>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 17CC: alekcejk, bcl, collura, dennis, mads, pjones
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-01 08:56:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Roy A. Gilmore 2012-06-17 16:55:46 UTC
Description of problem: Can't boot Windows XP with grub2 from Fedora 17


Version-Release number of selected component (if applicable):
grub2-2.0-0.25.beta4.fc17.i686

How reproducible:
Every time

Steps to Reproduce:
1. Install grub2-2.0-0.25.beta4.fc17.i686
2. run /sbin/grub2-install /dev/sda
3. run /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
  
Actual results:
(Output of /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg from grub2-2.0-0.25.beta4.fc17.i686)
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.4.0-1.fc17.i686.PAE
Found initrd image: /boot/initramfs-3.4.0-1.fc17.i686.PAE.img
Found Microsoft Windows XP Professional on /dev/sda1
/usr/sbin/grub2-probe: error: unknown filesystem.
done

(Excerpt from output of /sbin/grub2-mkconfig from grub2-2.0-0.25.beta4.fc17.i686)
### BEGIN /etc/grub.d/30_os-prober ###
Found Microsoft Windows XP Professional on /dev/sda1
menuentry 'Microsoft Windows XP Professional (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-/dev/sda1' {
	insmod part_msdos
/usr/sbin/grub2-probe: error: unknown filesystem.
	drivemap -s (hd0) ${root}
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###


Expected results:
(Output of /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg from grub2-1.99-13.fc16.3.i686)
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.4.0-1.fc17.i686.PAE
Found initrd image: /boot/initramfs-3.4.0-1.fc17.i686.PAE.img
Found Microsoft Windows XP Professional on /dev/sda1
done

(Excerpt from output of /sbin/grub2-mkconfig from grub2-1.99-13.fc16.3.i686)
### BEGIN /etc/grub.d/30_os-prober ###
Found Microsoft Windows XP Professional on /dev/sda1
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 20B6F7E202D33E72
	drivemap -s (hd0) ${root}
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###


Workaround: reinstall grub2-1.99-13.fc16.3.i686 from Fedora 16 until somebody fixes this.

Additional info:
Can mount, list, read and write to this partition. No other tools other than F17's grub2 seems to have a problem with it. Maybe we shouldn't have used a beta version of grub2. Can't believe this usage scenario wasn't tested by QA.

Comment 1 Vladimir Serbinenko 2012-06-17 17:32:29 UTC
This scenario was tested and is in fact the one I use every day. As for beta it happened only because GRUB had long stabilisation period and so fedora use. In fact more effort was into stabilisation of 2.00 by the time of 2.00~beta4 than for the whole 1.99. What do:
grub2-fstest /dev/sda1 ls -- -l
grub2-fstest /dev/sda1 ls -- -l /
ntfsinfo -m /dev/sda1

Comment 2 Roy A. Gilmore 2012-06-17 22:44:59 UTC
I don't know about the "stabilzation period", all I know is grub2-1.99-13.fc16.3.i686 works and grub2-2.0-0.25.beta4.fc17.i686 doesn't work for ME. Sometimes RPM fails to find dependencies during packaging. Is it possible that grub2-2.0-0.25.beta4.fc17.i686 works for you and not for me because of some RPM phantom dependency issue? This was an upgrade from Fedora 16, and, it did NOT go smoothly, so, I may or may not be missing some dependency. I've run both "yum check" and "rpm -Va" and everything seems OK (i.e. no missing files or dependencies). Here's the output of the commands. Although, I'm not comfortable with the second one because of privacy issues.

Output of grub2-fstest /dev/sda1 ls -- -l:
Device loop0: Filesystem type ntfs - Label `System', UUID 20B6F7E202D33E72 - Total size 312576642 sectors
Device host: Filesystem type hostfs - Total size 0 sectors

Output of grub2-fstest /dev/sda1 ls -- -l /:
2560         20100401173054 $AttrDef
0            20100401173054 $BadClus
4884016      20100401173054 $Bitmap
8192         20100401173054 $Boot
DIR          20100401173054 $Extend/
67108864     20100401173054 $LogFile
936394752    20100401173054 $MFT
4096         20100401173054 $MFTMirr
2958004      20100401173054 $Secure
131072       20100401173054 $UpCase
0            20100401173054 $Volume
DIR          20120405191948 acroldr/
DIR          20120331194429 Apache2.2/
DIR          20110206085429 Apache2.2.old/
DIR          20120112105009 Apache2.2.old2/
0            20100402025859 AUTOEXEC.BAT
17734        20110904004046 eula.1028.txt
17734        20110904004046 eula.1031.txt
10134        20110904004046 eula.1033.txt
17734        20110904004046 eula.1036.txt
17734        20110904004046 eula.1040.txt
118          20110904004046 eula.1041.txt
17734        20110904004046 eula.1042.txt
17734        20110904004046 eula.2052.txt
17734        20110904004046 eula.3082.txt
DIR          20100403013204 MSOCache/
DIR          20111107220148 My eBooks/
DIR          20110322034602 My Installations/
47564        20120406000746 NTDETECT.COM
250048       20120406000746 ntldr
DIR          20100402033053 NVIDIA/
DIR          20110714091102 Omron Healthcare/
1610612736   20120609042529 pagefile.sys
DIR          20120331225216 Perl/
2158         20110319114815 perl_packages
975          20110319124802 perl_packages2
DIR          20120405090246 PHP/
DIR          20120609193929 Program Files/
DIR          20110319094938 Python26/
DIR          20110326041559 RECYCLER/
DIR          20120405085942 RemoteSymbols/
DIR          20120206055804 SanDisk/
642          20120317065908 scl.dat
63619        20110329174129 SetupSp5.log
29084        20110309211254 SOAR.xfr
1777         20110329131456 sp6.log
DIR          20110319102457 SVN/
DIR          20120405090050 svn-win32-1.6.6/
25698        20110319104422 svndump
DIR          20120405085912 System Volume Information/
DIR          20110215181840 Troopmaster Software/
5686         20110904004046 vcredist.bmp
1442522      20110904004046 VC_RED.cab
232960       20110904004046 VC_RED.MSI
DIR          20110319061014 viewvc-1.1.10/
813920       20120609164654 VS10sp1-KB983509.exe
92966        20110329181828 VS6SP6.log
5888         20110329175154 VSS6SP6.log
DIR          20120405090106 WinAVR-20100110/
DIR          20120613105937 WINDOWS/
3738         20120405090227 _Sid.txt
81424        20110904004046 install.res.1041.dll
79888        20110904004046 install.res.1042.dll
75792        20110904004045 install.res.2052.dll
96272        20110904004046 install.res.3082.dll
0            20100402025859 IO.SYS
0            20110626182228 itouch_config_crash_info.txt
0            20100402214912 itouch_crash_info.txt
DIR          20120603000518 LG600G/
DIR          20120608144408 LG800G/
DIR          20110322073002 LocalSymbols/
DIR          20101115172516 memtest/
DIR          20120402210826 MinGW/
282          20120406000750 boot.ini
DIR          20120331203617 bugzilla-4.2/
DIR          20120406000750 cmdcons/
260288       20120406000750 cmldr
DIR          20110324114420 CompChecker/
DIR          20120613105748 Config.Msi/
0            20100402025859 CONFIG.SYS
1368         20120420165801 config.xml
DIR          20120605220928 cygwin/
DIR          20100624073824 cygwin.old/
DIR          20100915205932 Data/
DIR          20120609072630 Diskeeper/
2922         20120405090100 DkBootTime.log
0            20120613110642 DkHyperbootSync
DIR          20120522234455 Documents and Settings/
211          20120406000006 BOOT.BAK
95248        20110904004046 install.res.1040.dll
0            20100402025859 MSDOS.SYS
DIR          20101109210133 foobar/
DIR          20110401181951 GeoIP/
1110         20110904004046 globdata.ini
DIR          20120426172901 Hercules/
2146783232   20120609042531 hiberfil.sys
DIR          20100402073600 Inetpub/
562688       20120609164654 install.exe
843          20110904004046 install.ini
76304        20110904004046 install.res.1028.dll
96272        20110904004046 install.res.1031.dll
91152        20110904004046 install.res.1033.dll
97296        20110904004046 install.res.1036.dll

Output of ntfsinfo -m /dev/sda1:
Volume Information 
        Name of device: /dev/sda1
        Device state: 11
        Volume Name: System
        Volume State: 91
        Volume Version: 3.1
        Sector Size: 512
        Cluster Size: 4096
        Index Block Size: 4096
        Volume Size in Clusters: 39072080
MFT Information 
        MFT Record Size: 1024
        MFT Zone Multiplier: 0
        MFT Data Position: 24
        MFT Zone Start: 751761
        MFT Zone End: 5635771
        MFT Zone Position: 751761
        Current Position in First Data Zone: 5635771
        Current Position in Second Data Zone: 0
        LCN of Data Attribute for FILE_MFT: 751761
        FILE_MFTMirr Size: 4
        LCN of Data Attribute for File_MFTMirr: 9344784
        Size of Attribute Definition Table: 2560
FILE_Bitmap Information 
        FILE_Bitmap MFT Record Number: 6
        State of FILE_Bitmap Inode: 80
        Length of Attribute List: 0
        Attribute List: (null)
        Number of Attached Extent Inodes: 0
FILE_Bitmap Data Attribute Information
        Decompressed Runlist: not done yet
        Base Inode: 6
        Attribute Types: not done yet
        Attribute Name Length: 0
        Attribute State: 3
        Attribute Allocated Size: 4886528
        Attribute Data Size: 4884016
        Attribute Initialized Size: 4884016
        Attribute Compressed Size: 0
        Compression Block Size: 0
        Compression Block Size Bits: 0
        Compression Block Clusters: 0

TIA

Roy A. Gilmore

Comment 3 Vladimir Serbinenko 2012-06-17 23:14:03 UTC
If you're not comfortable with sending some output feel free to trim it, just add a marker [... some text trimmed ...]. The thing is that you output is perfect. GRUB recognizes your ntfs no problem. The only similar problem I've seen was the cache issue but F17 has the patch for it in. Could you attach fdisk output (feel free to keep just sda1 partition)? Can you retry grub2-install? It looks like either your NTFS was in some very bad state or you ended up with some chimera system with mismatched component system. Could you perhaps try yum update while on it?

Comment 4 Roy A. Gilmore 2012-06-19 16:21:31 UTC
Output of fdisk -l /dev/sda:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x87e0f321

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   312576704   156288321    7  HPFS/NTFS/exFAT
/dev/sda2       312578048   313602047      512000   83  Linux
/dev/sda3       313602048   625141759   155769856   83  Linux

I tried something strange. I saved the grub.cfg that grub2-1.99-13.fc16.3.i686 generated, uninstalled grub2-1.99-13.fc16.3.i686, deleted /boot/grub2, installed grub2-2.0-0.25.beta4.fc17.i686, reinstalled fedora-logos (because deleting /boot/grub2 deleted a file), ran "/sbin/grub2-install /dev/sda" then copied the old grub.cfg back to /boot/grub2. Both Linux and Windows boot fine with grub2-2.0-0.25.beta4.fc17.i686 using the old grub.cfg. The boot sector portion of grub2-2.0-0.25.beta4.fc17.i686 works fine. But, grub2-mkconfig still fails.

I've run "yum update", "yum distro-sync full", "yum check", "yum list extras", "rpm -qa --dupes", "rpm -Va". Can't find anything missing, duplicated, or, extra.

This was an "upgrade" from Fedora 16 using preupgrade. The "upgrade" failed miserably. When finished there were over 1200 duplicate packages. My gut feeling is that the failure was related to the stupid ill-advised "/usr merge" (I actually read the "/usr merge" manifesto and was not impressed with the faulty logic). Anyway, it took awhile, but, I finally got the F16 half of the dupes removed, and, the F17 half of the dupes reinstalled (to fix things that removing the F16 half of dupes caused). rpm and yum both seem to think everything is fine, but, I have a feeling that grub2 might have a hidden dependency that rpm is unaware of. BTW, are you aware of any other packages that install files to /boot/grub2 besides grub2 and fedora-logos?

Comment 5 Vladimir Serbinenko 2012-06-19 17:45:37 UTC
Hm, I've thought that this fix was already in Fedora but it wasn't:

revno: 4405
committer: Vladimir 'phcoder' Serbinenko <phcoder>
branch nick: grub
timestamp: Sat 2012-06-02 13:48:44 +0200
message:
        * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
        Fix MBR remapping workaround.
        (grub_util_biosdisk_read) [__linux__]: Likewise.

Comment 6 Mads Kiilerich 2012-06-19 19:08:46 UTC
That patch was backported and included in the beta6 package at http://koji.fedoraproject.org/koji/buildinfo?buildID=326126 .

Roy, please verify that it fixes the problem and report back.

Comment 7 Roy A. Gilmore 2012-06-20 00:29:52 UTC
Installed the beta6 grub2 and grub2-tools, ran "grub2-install /dev/sda", then ran "grub2-mkconfig -o /boot/grub2/grub.cfg". Seems to work, rebooted a couple times to test the different menu items, everything seems to work.

Thank you very much,

Roy A. Gilmore

P.S. Another possible bug, when first booting, right after the "Welcome to Grub" message, and, before the grub menu, there is some error message. It flashes by so fast I can't tell what it says. Wish I could give more info. Doesn't seem to cause major problems. Not sure if it's important enough to file a bug report. Just a heads-up.

Comment 8 Mads Kiilerich 2012-06-20 00:35:39 UTC
Thanks for testing - we will wait for it as a f17 update.

ps: bug 817187

Comment 9 Roy A. Gilmore 2012-06-21 08:17:20 UTC
Oops, just noticed something, I had been testing in single user mode, so didn't notice this before, but, now it asks for a password to boot from the default menu item in graphical boot mode (i.e. rhgb). Not related to the original bug, but, this is a horrible change for server installations. A server should be able to go from cold iron to full operation with absoutely no human intervention. A lot of servers are setup with watchdog timers so they reboot rather than hang. Ideally they should never have to reboot, but, a server that reboots is better than a hung server. A boot time password completely defeats this behavior. While it may be a configuration issue, a boot time password on the default selection is a bad default.

Again, I know this has nothing to do with the original bug, just a my two cents.

TIA

Roy A. Gilmore

Comment 10 Mads Kiilerich 2012-06-21 08:38:45 UTC
(In reply to comment #9)

Yes, completely unrelated. If it is a grub password prompt then it must be caused by own grub configuration - possibly influenced by custom /etc/grub.d scripts created by anaconda. If you think it is a bug then please file a new issue with all the details.

Comment 11 Roy A. Gilmore 2012-06-21 08:46:05 UTC
Sorry, just reread my comment, feel like an a$$. Ignore it.

Thanks again,

Roy A. Gilmore

Comment 12 Fedora End Of Life 2013-07-04 02:38:17 UTC
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 13 Fedora End Of Life 2013-08-01 08:56:37 UTC
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.