LINUX.ORG.RU

Добавить Windows XP в GRUB2

 , ,


0

1

На машине стоит 3 системы: /dev/sda7-Debian 8.2, /dev/sda1-Windows 7 и /dev/sda6-Windows XP. Собственно вот:

/dev/sda1: UUID="6295D631BAB5F587" TYPE="ntfs" PARTUUID="1b39619f-01"
/dev/sda5: UUID="F2A9FB1EAA18015D" TYPE="ntfs" PARTUUID="1b39619f-05"
/dev/sda6: UUID="3A9BBD00011D43C1" TYPE="ntfs" PARTUUID="1b39619f-06"
/dev/sda7: UUID="dc61563f-70c2-4155-9ece-2fb96d3d384f" TYPE="ext4" PARTUUID="1b39619f-07"
/dev/sda8: UUID="0f9465cc-49fd-4395-a66f-db13ba8349d4" TYPE="swap" PARTUUID="1b39619f-08"

откатывал из образа оффтопик XP, потом поставил Grub, 7 оффтопик на sda1 он нашёл сразу. XP взял по аналогии, изменив uuid, и set root:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows XP (loader) (на /dev/sda6)' --class windows --class os $menuentry_id_option 'osprober-chain-3A9BBD00011D43C1' {
	insmod part_msdos
	insmod ntfs
	set root='hd0,msdos6'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  3A9BBD00011D43C1
	else
	  search --no-floppy --fs-uuid --set=root 3A9BBD00011D43C1
	fi
	parttool ${root} hidden-
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

однако, при загрузке в XP получаю NTLDR missing. Что я делаю не правильно? Ещё такой момент: с 7 Дебианом граб грузил винду не с первого раздела.

я вот не помню, но где-то читал что винда умеет себя грузить только из первого диска (sda1), если я не прав - поправьте меня.

mul4 ★★★★★ ()
Ответ на: комментарий от mul4

Стоял 7 дебиан, там в грабе винда грузилась с sda6. К тому же винда и так прекрасно загружается с E-диска если сделать fixmbr.

Algierd ()
Ответ на: комментарий от anonymous

он xp с sda6 не может запустить, а 7 у него на sda1

mul4 ★★★★★ ()

Нафига? Поставь XP в виртуалке.

soomrack ★★★ ()

о! os-prober стоит и обновлён до последней версии? а то в дефолтном наборе для установке дебиана он как то раз совсем не стоял, позорище.

darkenshvein ★★★★★ ()

Если это не GPT, о чем говорит XP, то sda6 — это логический диск в расширенном разделе.
Уверены, что NTLDR может стартовать с логического диска? Пропишите XP в загрузчик 7 и грузите XP из него.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Проблему решил: дело было в отсутсвующих ntldr, NTDETECT.COM и неправильном значении partition в boot.ini. После копирования всех файлов update-grub2 автоматом подхватил раздел с оффтопикомом XP. Винда на ура грузится с логического диска.

Algierd ()
Ответ на: комментарий от Algierd

Посмотрите в диспетчере дисков Windows, какой для нее загрузочный (boot), какой системный (system)?

Хотя да, это родной бутсектор Windows не умеет искать свой загрузчик на расширенных разделах, но загрузчик загружать систему с логического диска умеет.

PS. Имейте в виду, с терминологией в том царстве все странно, системный с загрузчиком, загрузочный с каталогом системы \WINDOWS, несмотря на то, что он же %SystemDrive%, и когда речь не идет о собственно различии загрузочного и системного, его же называют системным.

bormant ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.