zoukankan      html  css  js  c++  java
  • 修复linux的grub2引导(单独/boot,lvm-root)

    root@ubuntu:/home/ubuntu# pwd
    /home/ubuntu

    root@ubuntu:/home/ubuntu# lsblk
    NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    fd0                     2:0      4K  0 disk
    sda                     8:0     20G  0 disk
    ├─sda1                  8:1    243M  0 part
    ├─sda2                  8:2      1K  0 part
    └─sda5                  8:5    0 19.8G  0 part
      ├─ubuntu--vg-root   252:0    0 17.3G  0 lvm
      └─ubuntu--vg-swap_1 252:1    2.5G  0 lvm
    sr0                    11:0    1.1G  0 rom  /cdrom
    loop0                   7:0      1G  1 loop /rofs

    root@ubuntu:/home/ubuntu# mount /dev/mapper/ubuntu--vg-root /mnt

    root@ubuntu:/home/ubuntu# mount /dev/sda1 /mnt/boot/

    root@ubuntu:/home/ubuntu# mount -o bind /dev/ /mnt/dev/

    root@ubuntu:/home/ubuntu# chroot /mnt/

    root@ubuntu:/# grub-install /dev/sda
    Installing for i386-pc platform.
    /proc/devices: fopen failed: 没有那个文件或目录
    device node not found
    device node not found
    device node not found
    device node not found
    device node not found
    device node not found
    /proc/devices: fopen failed: 没有那个文件或目录
    device node not found
    /proc/devices: fopen failed: 没有那个文件或目录
    device node not found
    /proc/devices: fopen failed: 没有那个文件或目录
    device node not found
    Installation finished. No error reported.

    root@ubuntu:/#


    环境如下:
    划分单独的/boot分区,root在lvm上的一个lv里面。
    此例中,/boot为/dev/sda1,root为/dev/mapper/ubuntu--vg-root。
    使用ubuntu光盘的live系统来启动,以修复原本硬盘上的grub2。

    注意的点:
    1、挂载了vg-root的LV之后,还要挂载单独的/boot,即/dev/sda1,而且要挂载到vg-root已挂载的目录里面。
    2、一定要把当前系统的/dev绑定到目标系统的/dev里,即/mnt/dev。
    3、建议把grub安装到硬盘的整个MBR,而不是单独的sdaX分区,这样会避免很多乱七八糟的问题。
    4、Grub安装成功的标志是输出 Installation finished. No error reported.
    5、理论上只要有live系统,可以修复任意发行版本的grub2,并不局限于已安装好的ubuntu或是ubuntu的live iso光盘,毕竟Grub2并不区分发行版。


    如果你有兴趣研究一下LVM-root环境下/boot分区是否必要以及相关的知识,可参考(全英文):
    http://askubuntu.com/questions/76095/what-is-the-use-of-boot-lvm-based-in-partitioning

  • 相关阅读:
    java中继承和多态的理解
    汽车租赁系统
    s2第六章继承和多态
    第三章泛型集合ArrayList 和Hashtable
    第二章项目总结
    s2第二章深入c#类型
    .NET平台
    航班查询系统
    java初始重点语法
    JDBC
  • 原文地址:https://www.cnblogs.com/iwantcomputer/p/8489793.html
Copyright © 2011-2022 走看看