硬件更改使相同的grub启动到不同的操作系统


0

硬件:

  • 具有一个IDE插槽的主板(2个驱动器)
  • 带2个插槽的PCI卡(4个驱动器)
  • 安装了CentOS的硬盘
  • 安装了旧Fedora的硬盘驱动器

正常情况:
我启动到grub(CentOS初始屏幕),并且引导CentOS安装在CentOS驱动器(hda)上。

现在的情况是:
我挂接Fedora驱动器(连接到PCI卡,hdc或hdd的主通道上的主机或从机)并启动。CentOS grub启动,使用CentOS内核,其他所有东西都来自Fedora。模块,软件版本等,就像将Fedora驱动器识别为hda一样。但是,如果将hda挂载为/mnt/hda,我将获得CentOS驱动器。如果我将hdd或hdc挂载为/mnt/hdc/mnt/hdd,我将得到预期的Fedora驱动器。但是在任何其他路径之外(/usr例如)挂载的hda ,我得到了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

猫devices.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

您可以从grub.conf文件中发布相关的引导项吗?(在某些发行版上,这是/boot/grub/menu.lst其他发行版上的/etc/grub.conf。)尤其是kernelroot行。您的grub安装device.map文件也可能很有用。
嘎嘎吉x德09年

另外,fdisk -l也很高兴看到它(甚至连评论都代表什么)。
鲍比(Bobby)

Answers:


2

重新标记Fedora根分区。引导加载程序变得混乱。类似于e2label /dev/hda3 /centos,然后修改您的GRUB条目(可能还有/ etc / fstab)以指向该标签。

或者,您可以重新标记Fedora根目录。或采用简单的方法,将/ etc / fstab和root=指令位于menu.lst中的/ dev / hda3而不是文件系统标签。


OP可能在添加第二个驱动器之前先设置了他/她的引导程序,对吗?是的,在这种情况下肯定会感到困惑,特别是如果主板不灵敏,并且“ hd0”对GRUB的含义发生了变化
Broam

1
tune2fs -L newlabel /dev/hdXN也有效...
quack quixote 09年

这样就解决了。我以为“ root =”指令定义了我想要root的位置(即/ boot左右)。嘎嘎发布了确切的语法,以防Google等人怀疑。
凯文M
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.