You are not logged in.

#1 2015-05-21 00:19:12

DeatzoSeol
Member
Registered: 2012-06-12
Posts: 10

GRUB doesn't detect NTFS partition

I recently installed windows to my second hard disk (/dev/sdb2 or (hd1,msdos2)), but GRUB fails to recognize the NTFS file system on it.

GRUB> ls
(hd0,msdos1) (hd0,msdos2) (hd0,msdos3) (hd0,msdos4) (hd1,msdos1) (hd1,msdos2)
GRUB> ls (hd1,msdos1)
Partition (hd1,msdos1): File system type ext* # etc
GRUB> ls (hd1,msdos2)
Partition (hd1,msdos2): No known file system detected

And yet there is a fully-functioning NTFS file system on this partition. Why do I know this? Because when I boot the entire hard disk from within QEMU, suddenly...

GRUB from within QEMU> ls (hd1,msdos2)
Partition (hd1,msdos2): File system type ntfs # etc

... and windows successfully boots from the disk.

I realise QEMU is not really comparable to BIOS, but I wonder why GRUB fails to recognize this single one NTFS partition, while it does recognize the other ext4 partition... Now, this isn't currently a severe issue, since I'm simply booting the windows partition with QEMU. The main reason I need to boot windows is to run some graphics-heavy programs, and as far as I know, QEMU can't do Direct3D emulation (or hardware acceleration?).

Last edited by DeatzoSeol (2015-05-21 00:20:14)

Offline

#2 2015-05-21 01:28:50

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: GRUB doesn't detect NTFS partition

grub has some optional dependencies that might be needed in your case.
See also https://wiki.archlinux.org/index.php/GRUB#Dual-booting

Offline

#3 2015-05-22 18:47:50

DeatzoSeol
Member
Registered: 2012-06-12
Posts: 10

Re: GRUB doesn't detect NTFS partition

Hmm, I don't think that could be the cause, I've tried insmod'ing all the necessary deps but to no avail... grub simply doesn't see the ntfs partition...

Relevant menuentry:

menuentry 'Windows 7 (loader) (on /dev/sdb2)' --class windows --class os $menuentry_id_option 'osprober-chain-0530C8122E9BEF62' {
	insmod part_msdos 
	insmod ntfs
	insmod chain
	insmod ntldr
	set root='hd1,msdos2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3  0530C8122E9BEF62
	else
	  search --no-floppy --fs-uuid --set=root 0530C8122E9BEF62
	fi
	chainloader +1
}

This was generated with os-prober, so I'm assuming it should work out of the box?

Offline

Board footer

Powered by FluxBB