fakeraid上安装grub/grub2

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
linz_p
帖子: 49
注册时间: 2006-12-23 10:51
送出感谢: 0
接收感谢: 0

fakeraid上安装grub/grub2

#1

帖子 linz_p » 2011-10-30 1:17

fakeraid安装linux系统最大的问题就是grub无法写入mbr。

网上给出了grub-legacy安装引导的教程,现将我在debian6上的具体过程记录。

1. 选择安装方式的时候要告诉安装程序调入dmraid驱动,在所需的grub引导选项的后面添加 dmraid=true。否则,磁盘分区的时候找不到raid选项。
2. 正常安装,但不安装grub2,而通过命令行手工安装grub-legacy。
cp /cdrom/pool/main/g/grub/grub* /target/var/cache/apt/archives
chroot /target
apt-get install grub-legacy
3. 重启后修复grub-legacy,具体如下:
查看/dev/mapper目录下的设备文件,记下raid磁盘的文件名,如isw_dbhhagadb_Volume0;
fdisk -l /dev/mapper/isw_dbhhagadb_Volume0,记录下磁盘信息,如"255 headers, 63 sectors/track, 243201 cylinders"等
echo "(hd0) /dev/mapper/isw_dbhhagadb_Volume0" > /dev/grub/device.map
cp /usr/lib/grub/i386/* /boot/grub/
grub --no-curses
grub> device (hd0) /dev/mapper/isw_dbhhagadb_Volume0
grub> geometry (hd0) 243201 255 63,这时会显示正确的分区信息
grub> /boot/grub/stage1,找到启动分区的位置
grub> root (hd0,1)
grub> setup (hd0)
grub> quit
update-grub,生成menu.lst,可能需要修改。
4. 完成。
-------------------------------------------------------------------------------------------
事实上,我并没有成功,起码在"255 headers, 63 sectors/track, 243201 cylinders"的2T阵列上没有成功。事后我把这个2T的阵列分出一个400G的Volume并在其上安装成功了。

-------------------------------------------------------------------------------------------
上面的方法虽然暂时解决了问题,但也未免有些瑕疵。参考grub-legacy的方法,我又试了grub2。很幸运地,也成功了。
1. dmraid=true启动安装。
2. 正常安装,包括grub2,出错信息可忽略。
3. 重启后修复grub2,具体如下:
查看/dev/mapper目录下的设备文件,记下raid磁盘的文件名,如isw_dbhhagadb_Volume0;
echo "(hd0) /dev/mapper/isw_dbhhagadb_Volume0" > /dev/grub/device.map
grub-install /dev/mapper/isw_dbhhagadb_Volume0
grub-setup /dev/mapper/isw_dbhhagadb_Volume0
update-grub,生成menu.cfg。
4. 完成。
5. 修改/etc/fstab。这个很奇怪。安装和修复的时候,/dev/mapper下面表示分区的文件是如isw_dbhhagadb_Volume0p1、isw_dbhhagadb_Volume0p2之类的,但是完成后真正运行的时候p却都没有了,成了isw_dbhhagadb_Volume01、isw_dbhhagadb_Volume02。所以在这里一起修改了就可以了。
回复

回到 “启动和引导”