修复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
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)的更多相关文章
- kali linux 更新软件源,安装中文输入法,修复Linux与windows引导菜单解决windows引导丢失
1. 更新软件源打开sources.list文件,进行添加更新源:leafpad /etc/apt/sources.list 2. 添加软件源#官方源 deb http://http.kali.org ...
- 一次修复linux的efi引导的集中方法总结记录
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/grub_uefi_repair 起因:EFI分区被删除导致引导问 ...
- 日常系统维护之修复linux的grub引导
恩,不知道怎么表达为win10的更新很烦人,其实我感觉windows用的不是那么顺手,但是制作视频的时候还是要用到,图片的话linux也可以胜任,毕竟GUN IMAGE还是挺不错的,但到了视频制作方面 ...
- 重装Windows后修复Linux引导
装了双系统(Windows和Linux)的机器重新安装Windows后会导致Linux的引导丢失而无法进入原先的Linux系统[其原因是Windows会覆盖原先MBR中的Linux的BootLoade ...
- Linux内核升级、GRUB2引导故障处理与密码破解
目录 内核升级 GRUB2内核启动设置 GRUB2引导菜单加密 GRUB2引导故障及修复 救援模式管理 Rhel7破解root密码 内核升级 查看当前内核版本: uname -r 查看可升级内核: ...
- U盘+GRUB2引导PE或linux镜像
利用U盘制作启动盘,引导WinPE.Linux安装的文章多如牛毛,与他们相比本文的特点有: 1.用且仅用grbu2做引导.不使用grub4dos,不是使用msdos mbr转到活动分区,到ntldr, ...
- 在grub的rescue模式修复linux引导
今天在windows 10系统收到系统更新通知,没看清楚就手贱点了马上更新.以为只是像那些普通更新一样重启一下更新就完了,万万没想到这个是覆盖更新,也就是说这是一个全新的系统更新而不是系统补丁.在安装 ...
- [FW]修复ubutnu12.04+win7的grub2引导
[转]修复ubutnu12.04+win7的grub2引导 原文位置:http://wenku.baidu.com/view/b6b7c9926bec0975f465e2f8.html ps:我使用的 ...
- 使用grub2引导进入Linux或Window系统
很多人在一通烂搞之后把自己的grub搞崩了(比如我当时手贱删除了boot分区)虽然后来又装了grub,但是进入grub后还是没有引导,只有一个孤零零的命令行界面 这时候应该怎么办呢?首先当然是想进入系 ...
随机推荐
- python 3.x 学习笔记8 (os模块及xml修改)
1.os模块操作 os.getcwd(): # 查看当前所在路径. os.listdir(path): ...
- 机器学习(十一) 支持向量机 SVM(下)
支持向量机通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间.特征空间的维数可能非常高.如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(x, x′) ,它恰好等于在高 ...
- POJ 3264 Balanced Lineup【线段树】
题意:给出n个数,a1,a2,a3,---,an,再给出q次询问区间al到ar之间的最大值和最小值的差 学习线段树的第一道题目 学习的这一篇 http://www.cnblogs.com/kuangb ...
- bzoj2333 [SCOI2011]棘手的操作(洛谷3273)
题目描述 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作:U x y: 加一条边,连接第x个节点和第y个节点A1 x v: 将第x个节点的权 ...
- 二叉排序树(B-Tree)-c实现
这个二叉排序树写完了,虽然还有些bug,但还是很高兴的. 主要实现二叉排序树的构建.(*表示稍微重要点) 二叉排序树的打印. 二叉排序树的删除. 代码里的三种情况都测了 顺便附送一个简单的中序遍历,递 ...
- Javascript系列——对象元素的数组去重实现
概要 这是一篇记录文,记录数组操作对象去重的实现. 需求 有这样一个数组 [{ _id: 123, name: '张三' },{ _id: 124, name: '李四' },{ _id: 123, ...
- javascript位操作符右移>>>的妙用
var len=arr.length>>>0; 在arr.length为null或undefined的时间,强制转换为0;
- bzoj 1040 1040: [ZJOI2008]骑士
1040: [ZJOI2008]骑士 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 5210 Solved: 1987[Submit][Status ...
- sqoop从mysql导入到hdfs出现乱码问题
最近把hive元数据库的快照数据导入到hdfs中,以便对历史的元数据进行查询. 命令如下: sqoop import -D mapred.job.queue.name=do.production -- ...
- Hive-jdbc获取sessionId
在HiveStatement中有一个sessHandle: public class HiveStatement implements java.sql.Statement { ... private ...