首页 > 开发 > 综合 > 正文

用发行版光盘引导修复lilo

2024-07-21 02:37:42
字体:
来源:转载
供稿:网友

  作者;HopeCao
  
  近来关于不少帖子问:重装XP或其他系统后,mbr被重写,无法引导进入linux,该怎么办?
  假如手头上有安装时做的引导盘,问题不大,用软盘引导进入系统后,重写引导治理器就可以了;但假如没有做引导盘(我一般不做),或软盘(软驱)坏掉的情况下,那么就应该考虑利用手头上的linux发行版光盘启动后重写引导治理器来修复了
  方法如下:
  一,假如你只划分了一个根分区:
  1,用linux发行版光盘启动你的计算机,到安装的欢迎画面出来后,按alt+2,转到控制台(出现"bash#"类似字样)
  2,cd /tmp&&ls,分两种情况:
  (1)假如你用的是rh8的启动光盘,应该能看到/tmp目录下有你的硬盘设备名字,譬如:hda,而fdisk -l /tmp/hda命令也可以看到硬盘上的分区情况
  你只要
  mkdir /mnt/root #建立/mnt/root这个目录
  mount /dev/hda* /mnt/root #hda*是你原来linux的根分区,可能有时要指定-t参数
  chroot /mnt/root #将/mnt/temp目录转成根目录这步假如成功,将显示"bash-2.0.5#"之类的字样
  cd /sbin
  ./lilo #假如你要重新设置lilo的安装位置,请先自行修改好/etc/lilo.conf
  没出错的话
  exit
  umount /mnt/root #(千万记住这步,假如不umount,很轻易磁盘出错!)
  然后重起应该就可以了
  
  (2)假如你用是其他版本(譬如红旗3.0)的启动光盘,/tmp目录下可能没有你的硬盘设备名字,而fdisk -l也不能列出任何硬盘分区信息
  那就这样试试:
  
  mkdir /mnt/root
  mknod /tmp/hda b 3 0
  mount /dev/hda* /mnt/root #*号代表你linux根分区所在的硬盘分区
  chroot /mnt/root #下面这些步骤基本和上面的情况一样
  cd /sbin
  ./lilo
  没出错的话
  exit
  umount /mnt/root #这步也得千万记住
  然后重起应该就可以了
  
  二,假如你的/boot为单独一个分区,由于重写引导治理器时往往也重写/boot下的一些文件,所以得考虑将/boot也挂上到正确的位置
  譬如,我的/boot=/dev/hda2,/=/dev/hda10
  那就这样:
  1,用linux发行版光盘启动你的计算机,到安装的欢迎画面出来后,按alt+2,转到控制台(出现"bash#"类似字样)
  2,cd /tmp&&ls,同样分两种情况:
  (1)假如你用的是rh8的启动光盘,应该能看到/tmp目录下有你的硬盘设备名字,譬如:hda,而fdisk -l /tmp/hda命令也可以看到硬盘上的分区情况
  你只要
  mkdir /mnt/root #建立/mnt/root这个目录
  mount /dev/hda* /mnt/root #hda*是你原来linux的根分区,可能有时要指定-t参数
  mount /dev/hda? /mnt/root/boot #hda?是你原来的/boot所在分区,譬如我的就是/dev/hda2
  chroot /mnt/root #将/mnt/temp目录转成根目录这步假如成功,将显示"bash-2.0.5#"之类的字样
  cd /sbin
  ./lilo #假如你要重新设置lilo的安装位置,请先自行修改好/etc/lilo.conf
  没出错的话
  exit
  umount /mnt/root/boot
  umount /mnt/root #(千万记住这两步,顺序不能搞错;假如不umount,很轻易磁盘出错!)
  然后重起应该就可以了
  
  (2)假如你用是其他版本(譬如红旗3.0)的启动光盘,/tmp目录下可能没有你的硬盘设备名字,而fdisk -l也不能列出任何硬盘分区信息
  那就这样试试:
  
  mkdir /mnt/root
  mknod /tmp/hda b 3 0
  mount /dev/hda* /mnt/root #*号代表你linux根分区所在的硬盘分区
  mount /dev/hda? /mnt/root/boot #下面这些步骤基本和上面的情况一样
  chroot /mnt/root
  cd /sbin
  ./lilo
  没出错的话
  exit
  umount /mnt/root/boot
  umount /mnt/root #这两步也得千万记住,顺序不能搞错
  然后重起应该就可以了
  
  以上的方法,在我的机器上(/boot=/dev/hda2,/=/dev/hda10)分别用rh8和红旗3.0desktop这两个版本的安装光盘试验成功,和在vmware(/=/dev/sda)上用rh8光盘上试验成功,(标志是lilo默认启动菜单的改动,通过修改/etc/lilo.conf实现),由于手头上没有其他版本的安装光盘,不能一一测试,应该可行,谁有爱好就测试一下
  
  个人建议有条件的话用rh8的启动光盘,
可以mount -t reiserfs格式的分区,红旗3.0的不行
  
  由于条件所限,没有测试grub,谁遇上了grub的类似问题,可以一试

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表