如何让 grub2 启动另一个驱动器 MBR?

如何让 grub2 启动另一个驱动器 MBR?

我的笔记本电脑(DELL Vostro 3350)有两个硬盘:1- /dev/sda,带有 Ubuntu14.04 的 ssd,grub2 安装到此 MBR。安装在普通硬盘托架上 2- /dev/sdb,库存硬盘(带有恢复分区等)用适配器代替 DVD 驱动器

我不知道如何从 grub2 启动 Windows。过去我记得(可能使用 grub1)我可以指向第二个磁盘 mbr,然后 Windows 正常启动。

所以我的配置是:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 testine, 63 settori/tracce, 15566 cilindri, totale 250069680 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0007d87d

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   175781887    87889920   83  Linux
/dev/sda2       175783934   250068991    37142529    5  Esteso
/dev/sda5       175783936   246163455    35189760   83  Linux
/dev/sda6       246165504   250068991     1951744   82  Linux swap / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 testine, 63 settori/tracce, 60801 cilindri, totale 976773168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0xb3e7a9bf

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      206847      102400   de  Dell Utility
/dev/sdb2          206848    30926847    15360000    7  HPFS/NTFS/exFAT
/dev/sdb3   *    30926848   167600175    68336664    7  HPFS/NTFS/exFAT
/dev/sdb4       167604160   976768064   404581952+   f  W95 Esteso (LBA)
/dev/sdb5       167606208   976768064   404580928+   7  HPFS/NTFS/exFAT

这是我的/boot/grub/grub.cfgos-prober 部分

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

menuentry 'Windows 7 (loader) (su /dev/sdb3)' --class windows --class os $menuentry_id_option 'osprober-chain-AC7C4EC27C4E86D4' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos3'
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  AC7C4EC27C4E86D4
else
  search --no-floppy --fs-uuid --set=root AC7C4EC27C4E86D4
fi
parttool ${root} hidden-
chainloader +1
}

如果我在启动菜单上选择它们,它们都会显示此消息:

error: no such device: CC70378A703779F2 (or AC7C4EC27C4E86D4)
error: hd1 cannot get C/H/S values

在此处输入图片描述

最后,但并非最不重要的一点是,从我的 BIOS 中无法更改硬盘启动优先级所以没有办法/dev/sdb先启动。

编辑:

这是我的blkid

/dev/sda1: UUID="1597fe18-faf5-48a5-b80f-4cbb7f8b896e" TYPE="ext4" 
/dev/sda5: UUID="ea6548f1-3004-49ff-8d1d-4c84dfed3a6a" TYPE="ext4" 
/dev/sda6: UUID="e24dbc3b-d2da-4a63-97ce-7430cfce9fce" TYPE="swap" 
/dev/sdb1: SEC_TYPE="msdos" LABEL="DELLUTILITY" UUID="3030-3030" TYPE="vfat" 
/dev/sdb2: LABEL="Recovery" UUID="CC70378A703779F2" TYPE="ntfs" 
/dev/sdb3: LABEL="OS" UUID="AC7C4EC27C4E86D4" TYPE="ntfs" 
/dev/sdb5: LABEL="VostroHD" UUID="01CCBB70E50A71E0" TYPE="ntfs"

编辑:我运行了bootinfo脚本。这里结果

EDIT2:顶部的 PC 配置

答案1

虽然您使用的是 Ubuntu 而不是 Arch Linux(并且没有指定您使用的 Windows 版本),但这可能会对您有所帮助。
https://wiki.archlinux.org/index.php/GRUB#Dual-booting

相关内容