![硬件变化使相同的 grub 启动到不同的操作系统](https://linux22.com/image/1225195/%E7%A1%AC%E4%BB%B6%E5%8F%98%E5%8C%96%E4%BD%BF%E7%9B%B8%E5%90%8C%E7%9A%84%20grub%20%E5%90%AF%E5%8A%A8%E5%88%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.png)
硬件:
- 带有一个 IDE 插槽的主板(2 个驱动器)
- 带 2 个插槽的 PCI 卡(4 个驱动器)
- 安装了 CentOS 的硬盘
- 安装了旧 Fedora 的硬盘
正常情况:
我启动到 grub(CentOS 启动画面),然后启动安装在 CentOS 驱动器(hda)上的 CentOS。
现在的情况是:
我连接 Fedora 驱动器(连接到 PCI 卡主通道上的主驱动器或从驱动器,hdc 或 hdd)并启动。CentOS grub 启动,使用 CentOS 内核,其他一切都来自 Fedora。模块、软件版本等,几乎就像它将 Fedora 驱动器识别为 hda 一样。但是,如果我将 hda 安装为/mnt/hda
,我会得到 CentOS 驱动器。如果我将 hdd 或 hdc 安装为/mnt/hdc
或/mnt/hdd
,我会得到预期的 Fedora 驱动器。但是在任何其他路径之外安装的 hda(/usr
例如),我会得到 Fedora 文件。
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 9.5G 7.5G 1.6G 83% /
/dev/hdd5 9.5G 7.5G 1.6G 83% /mnt/hdd5
/dev/hda3 6.4G 3.3G 2.8G 54% /mnt/hda3
这里特别值得注意的是安装的驱动器(来自/dev
)及其文件系统大小。
有人见过这种情况吗?我该如何将 6.5GB 驱动器作为操作系统启动?
更新: grub 条目为:
title CentOS (2.6.18-128.4.1.el5.centos.plus)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.4.1.el5.centos.plus ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-128.4.1.el5.centos.plus.img
cat 设备.map
# this device map was generated by anaconda
(hd0) /dev/hda
fdisk -l(Fedora)
Disk /dev/hdd: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdd1 1 1275 10241406 7 HPFS/NTFS
/dev/hdd2 1276 4864 28828642+ f W95 Ext'd (LBA)
/dev/hdd3 4865 4865 8032+ 82 Linux swap / Solaris
/dev/hdd5 1276 2550 10241406 83 Linux
/dev/hdd6 2551 4864 18587173+ b W95 FAT32
fdisk -l(CentOS):
Disk /dev/hda: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 10 80293+ 83 Linux
/dev/hda2 11 402 3148740 82 Linux swap / Solaris
/dev/hda3 403 1258 6875820 83 Linux
/dev/hda4 1259 2434 9446220 5 Extended
/dev/hda5 1259 1911 5245191 83 Linux
/dev/hda6 1912 2433 4192933+ 83 Linux
答案1
重新标记 Fedora 根分区。引导加载程序变得混乱。类似于e2label /dev/hda3 /centos
,然后修改您的 GRUB 条目(可能还有 /etc/fstab)以将其指向为标签。
或者,您可以重新标记 Fedora 根目录。或者采取简单的方法,将 /etc/fstab 和root=
menu.lst 中的指令指向 /dev/hda3,而不是文件系统标签。