내 시스템에 두 번째 디스크를 추가하고 여기에 linux-installation + grub을 복사했습니다. 이제 내 시스템에는 2개의 디스크가 포함되어 있습니다.
hd0:
sda5: linux
hd1: (old system with dualboot)
sdb2: windows
sdb5: linux
hd1에서 부팅하면(Bios 부팅 메뉴 또는 hd0 연결 해제) Windows가 즉시 부팅되지만, hd0에서 부팅하고 Windows에서 부팅하도록 선택하면 깜박이는 커서와 함께 검은색 화면만 표시됩니다.
hd0/grub.cfg (작동하지 않음)
menuentry 'Windows 7 (loader) (/dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 9C567F24567EFE78
else
search --no-floppy --fs-uuid --set=root 9C567F24567EFE78
fi
parttool ${root} hidden-
chainloader +1
}
hd1/grub.cfg (유효함)
menuentry 'Windows 7 (loader) (/dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 9C567F24567EFE78
else
search --no-floppy --fs-uuid --set=root 9C567F24567EFE78
fi
parttool ${root} hidden-
chainloader +1
}
추신: 내 시스템은 이제 약간 오래되었으며(athlon x4) UEFI가 아닌 일반 BIOS가 있습니다.
어떤 아이디어나 디버깅 정보를 더 얻는 방법이 있나요?
아니면 Windows를 항상 첫 번째 하드 드라이브에 설치해야 한다는 제한 사항이 있나요? (2016년에도)
해결책:
menuentry 'Windows 7 cust' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 9C567F24567EFE78
else
search --no-floppy --fs-uuid --set=root 9C567F24567EFE78
fi
###parttool ${root} hidden-
drivemap -s (hd0) ${root} ### intern disk swap
chainloader +1
}
답변1
첫 번째 드라이브가 아닌 다른 드라이브에서 grub을 사용하여 Windows를 부팅하는 것은 약간 까다롭습니다. 디스크를 교체해야 합니다.
첫 번째 하드 드라이브가 아닌 다른 하드 드라이브에 DOS(또는 Windows)를 설치한 경우 운영 체제가 첫 번째 하드 드라이브가 아닌 다른 디스크에서는 부팅할 수 없으므로 디스크 스와핑 기술을 사용해야 합니다. GRUB에서 사용되는 해결 방법은 다음과 같은 드라이브 맵(drivemap 참조) 명령입니다.
drivemap -s (hd0) (hd1)
자세한 내용은 다음을 참조하세요.https://www.gnu.org/software/grub/manual/html_node/DOS_002fWindows.html#DOS_002fWindows