24小时热门版块排行榜    

查看: 240  |  回复: 0
当前主题已经存档。

kuoping

木虫 (小有名气)

[交流] 【原创】Grub问题——双系统由于win修改分区引起的linux无法启动问题的解决方法

(本文zt自北理FTP联盟自己的帖子)

在装有windows和linux双操作系统上,由于更改了windows分区(合并或拆分)而导致linux无法启动的解决方法(多操作系统也如此):

问题起因:在windows上合并了两个分区,导致linux系统的分区符发生了变化,li例如:原来是sda10,现在变成了sda9
故障现象:启动时无法看到grub菜单,显示 Grub loading ...... Please waiting.(死掉了,此时无法进入任何一个系统)

解决方法:

准备:一张fedora急救盘或者redhat急救盘。我的系统是debian,fedora的急救盘仍然管用。

以debian为例讲述修复过程:

步骤:1.插入光盘,重新启动(BIOS设置光盘启动)
         2、在boot提示符下,在linux rescue boot> 提示符下,输入linux rescue
         3、选择默认(询问选择语言和键盘,直接回车就可以了)
         4、按Tab选择No (询问是否配置网络,这个就不用了)
         5、continue (是否继续,选择是)
         6、回车(无法映像到/mnt/sysimage,直接启动shell(因为我的是debian))
        7、fdisk -l(查看分区)
             找到你安装debian的分区ext3格式,记下盘符sda*(*为数字),下面是我的fdisk列表

/dev/sda1   *           1        1275    10241406    7  HPFS/NTFS
/dev/sda2            1276        9726    67882657+   f  W95 Ext'd (LBA)
/dev/sda5            1276        2550    10241406    7  HPFS/NTFS
/dev/sda6            2551        4462    15358108+   7  HPFS/NTFS
/dev/sda7            4463        7116    21318223+   b  W95 FAT32
/dev/sda8            7117        7179      506016   82  Linux swap / Solaris
/dev/sda9            7180        9064    15141231   83  Linux


         8、mkdir /mnt/linux
              创建linux下ext3的映像文件夹
         9、mkdir /mnt/linux/boot
              创建linux下boot的映像文件夹(无boot分区可跳过)
         10、mount -t ext3 /dev/sda* /mnt/linux
              挂载linux的ext3(sda*为linux的ext3分区)
         11、mount -t ext3 /dev/sda* /mnt/linux/boot(无boot分区可跳过)
              挂载linux的boot分区(sda*为linux的boot分区)
         12、chroot /mnt/linux
              现在你已经进到你的debian的shell了
         13、vi /boot/grub/menu.lst
               此刻开始进入关键的核心步骤,修改menu,将linux的ext3分区的标号-1替换原来的标号.
        例如:原linux系统是sda10,更改分区后linux的ext3变为sda9,则将(hd0,9)变为(hd0,8);root=/dev/sda10变为root=/dev/sda9

title Debian GNU/Linux, kernel 2.6.11-1-686-smp
        root (hd0,8)
        kernel /boot/vmlinuz-2.6.11-1-686-smp root=/dev/sda9 ro
        initrd /boot/initrd.img-2.6.11-1-686-smp
......

linux的其他核菜单类似修改,windows不变仍然是(hd0,0)

          14、vi /etc/fstab
               修改ext3和swap(和boot)的引导位置,将ext3的路径/dev/sda10改为/dev/sda9;swap的路径/dev/sda9改为/dev/sda8(如上例)

/dev/sda9      /               ext3    defaults,errors=remount-ro 0       1
/dev/sda8       none            swap    sw              0       0
     
           15、exit
                 退出chroot模式
           16、exit
                 退出急救模式

系统会自动重启,退出光盘,看看是不是一切ok了,呵呵,偷着笑吧,刚才的担忧都风消云散了。

备注:如果你的系统是redhat或者fedora就更简单了,按照前面的步骤运行到5,然后查看分区fdisk -l,这之后执行chroot /mnt/sysimage接13步。如果是其他的原因引起grub错误,那这里的步骤仅供参考,可能需要重装grub(这个我就不赘述了,google一下就会找到解决方法)

FAQ:[Q]:用knoppix引导系统可以吗?
         [A]:这要取决于knoppix是否能够识别你的硬盘,如果可以,进入系统后按照上文对应修改menu.lst和fstab,然后重启。

[ Last edited by 幻影无痕 on 2006-10-16 at 10:10 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kuoping 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见