root@ubuntu:/home/ubuntu# pwd

/home/ubuntu



root@ubuntu:/home/ubuntu# lsblk

NAME                 
MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

fd0                    
2:0   
1   
4K  0 disk

sda                    
8:0   
0   20G  0
disk

├─sda1                 
8:1   
0  243M  0 part

├─sda2                 
8:2   
0   
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   
0  2.5G  0 lvm

sr0                   
11:0   
1  1.1G  0 rom 
/cdrom

loop0                  
7:0   
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

修复linux的grub2引导(单独/boot,lvm-root)的更多相关文章

  1. kali linux 更新软件源,安装中文输入法,修复Linux与windows引导菜单解决windows引导丢失

    1. 更新软件源打开sources.list文件,进行添加更新源:leafpad /etc/apt/sources.list 2. 添加软件源#官方源 deb http://http.kali.org ...

  2. 一次修复linux的efi引导的集中方法总结记录

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/grub_uefi_repair 起因:EFI分区被删除导致引导问 ...

  3. 日常系统维护之修复linux的grub引导

    恩,不知道怎么表达为win10的更新很烦人,其实我感觉windows用的不是那么顺手,但是制作视频的时候还是要用到,图片的话linux也可以胜任,毕竟GUN IMAGE还是挺不错的,但到了视频制作方面 ...

  4. 重装Windows后修复Linux引导

    装了双系统(Windows和Linux)的机器重新安装Windows后会导致Linux的引导丢失而无法进入原先的Linux系统[其原因是Windows会覆盖原先MBR中的Linux的BootLoade ...

  5. Linux内核升级、GRUB2引导故障处理与密码破解

    目录 内核升级 GRUB2内核启动设置 GRUB2引导菜单加密 GRUB2引导故障及修复 救援模式管理 Rhel7破解root密码 内核升级 查看当前内核版本: uname  -r 查看可升级内核:  ...

  6. U盘+GRUB2引导PE或linux镜像

    利用U盘制作启动盘,引导WinPE.Linux安装的文章多如牛毛,与他们相比本文的特点有: 1.用且仅用grbu2做引导.不使用grub4dos,不是使用msdos mbr转到活动分区,到ntldr, ...

  7. 在grub的rescue模式修复linux引导

    今天在windows 10系统收到系统更新通知,没看清楚就手贱点了马上更新.以为只是像那些普通更新一样重启一下更新就完了,万万没想到这个是覆盖更新,也就是说这是一个全新的系统更新而不是系统补丁.在安装 ...

  8. [FW]修复ubutnu12.04+win7的grub2引导

    [转]修复ubutnu12.04+win7的grub2引导 原文位置:http://wenku.baidu.com/view/b6b7c9926bec0975f465e2f8.html ps:我使用的 ...

  9. 使用grub2引导进入Linux或Window系统

    很多人在一通烂搞之后把自己的grub搞崩了(比如我当时手贱删除了boot分区)虽然后来又装了grub,但是进入grub后还是没有引导,只有一个孤零零的命令行界面 这时候应该怎么办呢?首先当然是想进入系 ...

随机推荐

  1. VS 2015 C#不能进入断点

    工程\属性\生成页面,去掉优化代码勾选.

  2. C# 运算符 ?、??、?: 、?. 、 各种问号的用法和说明

    1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...

  3. Analysis of the Facebook.app for iOS

    Analysis of the Facebook.app for iOS Posted Oct 18, 2016 Did you ever wonder why the Facebook.app fo ...

  4. 修改input标签中的placeholder样式

    input::-webkit-input-placeholder { color: #fff !important; } input:-moz-placeholder { color: #fff !i ...

  5. 查看锁表进程SQL语句

    查看锁表进程SQL语句   set pagesize 999 set line180 col ORACLE_USERNAME for a18 col OS_USER_NAME for a18 col ...

  6. java 实现多线程 3种方式

    java实现多线程可以有以下三种方式: (1)继承Thread 类,重写其run()方法: (2)实现Runnable接口,实现其run() 方法: (3) 实现Callable 接口,重写call( ...

  7. Python学习---Day96

    转载:http://www.cnblogs.com/wupeiqi/articles/6229292.html Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可 ...

  8. 学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题

    写了一个死循环不断的创建对象,模拟内存溢出 package com.zuo.test1; import java.util.ArrayList; import java.util.List; publ ...

  9. 一句话木马和中国菜刀的结合拿webshell

    什么叫做一句话木马:     就是一句简单的脚本语言,一句话木马分为Php,asp,aspx等 中国菜刀:   连接一句话木马的工具 实验的目的:  通过一句话木马来控制我们的服务器,拿到webshe ...

  10. axios简单封装

    写在最前面 新手前端刚刚接触vue,感觉真的好用.项目中需要使用axios,然后学习了一下.借鉴网上一些大佬的经验,现在分享一下axios的简单封装,如果有什么错误的地方,请大家指出. axios安装 ...