openSUSE grub rescue 修复经历 opensuse trying manual resume 修复经历

所以这算是一天中遇到的两个不幸的问题,好在是可以在一天之内把这些问题解决了。(转载保留Phodal's BlogPhodal'szenthink)


openSUSE Grub Rescue

这个问题就相对比较好解决了

列出分区

ls

选择分区,设置分区

set root=(hd0,msdos8)
set prefix=(hd0,msdos8)/boot/grub2

正常启动

insmod normal
normal


然而接下来又遇到了下面这个问题

opensuse trying manual resume

如果你有个live CD那还算是不错,没有的话,那就装一个,我这里是装回了一个mint。
这里要做的就是编辑分区表/etc/fstab以及启动选择/boot/grub2/grub.cfg
先以grub.cfg为例,这是一个简单的启动配置示例
### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE 12.2' --class 'opensuse-12-2' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f8b70b14-23bf-4703-9cc8-ed593448ae61' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos8'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  f8b70b14-23bf-4703-9cc8-ed593448ae61
        else
          search --no-floppy --fs-uuid --set=root f8b70b14-23bf-4703-9cc8-ed593448ae61
        fi
        echo    '载入 Linux 3.4.47-2.38-desktop ...'
        linux   /boot/vmlinuz-3.4.47-2.38-desktop root=UUID=f8b70b14-23bf-4703-9cc8-ed593448ae61   video=1366x768 resume=/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-part6 splash=silent quiet showopts
        echo    '载入初始化内存盘...'
        initrd  /boot/initrd-3.4.47-2.38-desktop
}

 也就是把这行 
   
 root=UUID=f8b70b14-23bf-4703-9cc8-ed593448ae61   video=1366x768 resume=/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-part6 splash=silent quiet showopts
 简化为 
   
linux   /boot/vmlinuz-3.4.47-2.38-desktop 
 再修改一下/etc/fstab 
   
 
   
 
   
 
   
 
   
 
   
 
  
/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-part6 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-part8 /                    ext4       acl,user_xattr        1 1
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
将part6和part 8改为
/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-sda6 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-ST95005620AS_5YX1CJ2L-sda8 /                    ext4       acl,user_xattr        1 1
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Chroot的方法

这算是我的解决方法,没想到在mint下对yast2支持得很强大,可以直接运行。
mount /dev/sda8 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /etc/resolv.conf /mnt/etc/resolv.conf 
chroot /mnt
yast2

其中 /etc/resolv.conf用于网络
直接在yast2里面操作就ok了。

你可能感兴趣的:(openSUSE grub rescue 修复经历 opensuse trying manual resume 修复经历)