我有一台配备 Pentium D 820 的 Dell Dimension 5150(我知道它已经过时了,但我从朋友那里收到了它作为圣诞礼物。)
我在这个台式机上有2个硬盘:
安装了 Clover EFI 的 500GB 2.5' 笔记本电脑硬盘(GPT BIOS 设置)
80GB 3.5' 台式机硬盘(正常 MBR BIOS 设置)
分区布局
笔记本硬盘
sda1:Ubuntu MATE 16.04
sda2:Windows 10
sda3:Phoenix OS
sda4:DATA(备份存储分区)
sda5:PARTIMG(分区映像存储)
sda6:ESP(EFI 系统分区)
(我以前使用过一台笔记本电脑,所有数据都在里面,但是它坏了,而这个硬盘还可以使用。)
台式机硬盘
sdb1:戴尔系统实用程序(OEM 分区)
sdb2:Windows XP SP3 家庭版
sdb3:Ubuntu XFce 18.04
如何将位于第二块硬盘的第二个分区上的 Windows XP 添加到 Ubuntu MATE 16.04 LTS 的 GRUB2 菜单项?
我已尝试过:
insmod part_msdos insmod ntfs set root=(hd1,msdos2) chainloader +1 error: Invalid EFI file path
insmod part_msdos insmod ntfs set root=(hd1,msdos2) chainloader /ntldr error: cannot load image
insmod part_msdos insmod ntldr insmod ntfs ntldr (hd1,msdos2)/ntldr error: ntldr.mod not found
insmod part_msdos insmod chain drivemap hd0 hd1 chainloader (hd1,msdos2)+1 error: drivemap command not found
insmod part_msdos insmod ntfs insmod search_fs_uuid search --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 2ABF87DC395CFC02 drivemap (hd1,msdos2) (hd0,msdos1) chainloader /ntldr error: cannot load image
我观察到的情况:
我确实尝试过它是否可以读取 NTFS 分区。它可以毫无问题地读取它。ls (hd1,msdos2)/ 返回硬盘上的一堆文件,包括启动文件(boot.ini、ntldr、AUTOEXEC.COM)
drivemap 仅在 i386-pc 包中可用,而不是 x86_64-efi 包中可用
这不是启动文件的问题,因为如果我断开第一个硬盘,它就能正常启动(它能正常启动到 Windows XP)。
os-prober 和 update-grub 无法检测 Windows XP 分区(即使已安装)。它仅检测第二个驱动器上的第一个分区(Dell System Utility)。