从BIOS+MBR迁移到UEFI+GPT 并修复Ubuntu Grub2 UEFI引导
之前在虚拟机里使用了默认配置安装了Ubuntu16.04,由于需要扩充磁盘空间不得不将磁盘从MBR分区表转换到GPT分区表。
简单介绍一下思路:首先通过Windows下的DiskGenius软件备份Ubuntu的根分区,再通过新建虚拟机并配置UEFI环境安装一个新的Ubuntu,然后将之前的备份根分区恢复到这个新的Ubuntu环境,最后修改fstab并通过使用Grub2命令手动加载内核启动系统后在系统里通过update-grub工具修复引导。
先新建一个虚拟机安装一个Windows系统(很多Windows PE工具没有Vmware磁盘驱动),再新建一个虚拟机安装UEFI的Linux系统。将需要迁移的Linux系统和旧的Linux系统磁盘挂载到Windows系统虚拟机下。


安装DiskGenius软件,使用该软件备份旧的Linux系统分区到镜像。注意,选择按扇区备份,不要使用按文件备份。


然后使用备份的镜像恢复到新的Linux系统上。

至此,系统迁移就算完成了,接下来修复引导。我们要准备一个系统安装镜像,并启动它,我们需要修改系统中的fstab,从而让系统可以正确认到根目录,交换目录所挂载的磁盘。
打开磁盘管理工具,并挂载磁盘。然后可以通过下面的命令查看UUID
ls -l /dev/disk/by-uuid/

修改fstab中的UUID

重启系统后显示grub界面,仍旧不能进入系统,此时我们就需要手动加载内核来启动系统。
先输入ls命令查看系统分区

使用下面的指令来设置启动参数,其中gpt2对应sda2,vmlinuz对应系统内核。系统内核可能有多个,请按tab键补全并选择自己的内核,root代表根目录,boot就是启动内核。
set root=(hd0,gpt2)
linux /boot/vmlinuz ro root=/dev/sda1
initrd /initrd.img
boot

成功进入桌面后使用下面的命令修复启动项,并重启系统。至此系统迁移完成。
sudo update-grub
  
从BIOS+MBR迁移到UEFI+GPT 并修复Ubuntu Grub2 UEFI引导的更多相关文章
- uefi+GPT分区安装ubuntu[zz]
		现状:1.预装win8的笔记本几乎都是uefi启动模式,配合GPT磁盘分区,于是遇到了“麻烦”不会装了,或者说按照老教程安装,结果失败了.而且有很多人在问怎么解决,其实网上就有嘛,关键词就是“uefi ... 
- (转)如何修复ubuntu的UEFI引导
		(转自: http://jingyan.baidu.com/article/335530da883e0b19cb41c325.html)(ps: 完美的解决了我的问题.) 最近有些手贱,偏偏要进入BI ... 
- BIOS+MBR模式 VS UEFI+GPT模式
		EFI与MBR启动的区别 大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘 ,更快速的启动win ... 
- BIOS + MBR > UEFI + GPT
		BIOS + MBR > UEFI + GPT硬件接口系统与磁盘分区UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR. 名词解释: BIOS (Basic Input/Output S ... 
- UEFI+GPT与BIOS+MBR各自有什么优缺点?
		1.分区数量上,gpt好像可以支持无限个分区,不过window上只认128个,而且gpt分区不分主分区,逻辑分区,可以理解为全部都是主分区,就相当于可以允许你一个分区一个系统,128个系统了.而这是m ... 
- BIOS/MBR UEFI/GPT关系与区别-资料整理
		---恢复内容开始--- 关于 BIOS/MBR UEFI/GPT他们之间的关系一直比较疑惑, 首先一点前提 BIOS UEFI 是一类,是控制硬件,引导启动的:MBR GPT是硬盘的分区定义.. 后 ... 
- win7 64 + Ubuntu 14.04.1 64双系统安装,详解UEFI ~ GPT和legacy ~ MBR区别
		win7 64 + Ubuntu 14.04.1 64双系统安装 背景:我的笔记本之前的系统是window 7 64 + Ubuntu 14.04.1,用UEFI引导系统.安装过程是先装的win7,再 ... 
- UEFI,BIOS,MBR,
		UEFI启动是一种新的主板引导项,正被看做是有近20多年历史的BIOS 的继任者.顾名思义,快速启动是可以提高开机后操作系统的启动速度.由于开机过程中UEFI的介入 第一:安全性更强 UEFI启动需要 ... 
- UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
		内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ... 
- UEFI+GPT引导实践篇(一):切换到UEFI启动,准备安装介质
		如果只单纯比较UEFI引导和BIOS引导,那么毫无疑问UEFI引导要简单很多.不过现在的主板大都是同时兼容BIOS和UEFI引导方式,所以在实际操作前还需要确认一些东西.详见下文. 1.我的电脑支不支 ... 
随机推荐
- Machine Learning Week_1 Linear Algebra Review 7-12
			目录 4.7 Video: Matrix Matrix Multiplication unfamiliar words unfamiliar words in transcript 4.8 Readi ... 
- 在centos7系统上安装docker环境
			基于 CentOS 7 安装 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/ 确定你是CentOS7及以上版本 [ro ... 
- MySQL中varchar(10)和varchar(100)的优缺点
			许多使用MySQL的同学都会使用到varchar这个数据类型.初学者刚开始学习varchar时,一定记得varchar是个变长的类型这个知识点,所以很多初学者在设计表时,就会把varchar(X)的长 ... 
- MongoDB面试专题33道解析
			大家好,我是 V 哥.今天给大家分享 MongoDB的道 V 哥整理的面试题,收藏起来,一定会对你有帮助. 1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什 ... 
- jQuery.validator验证无效的可能原因
			最近用jQuery.validator做表单的前端验证,却发现验证规则都无效.最后发现以下原因会导致校验无效 1.jquery.min.js重复引用. 2.js中有bug存在. 3.<input ... 
- Python基础:Python的变量和对象
			一.基本原理 Python中一切都是对象,变量中存放的是对象的引用.这是一个普遍的法则.我们举个例子来说,Python是如何来处理的. x = 'blue' y = 'green' z = x 当p ... 
- 【C++】类的继承的深入探讨
			继承是扩展现有类并为基类提供新功能的一种方式. 本文主要探讨一个问题:子类会包含父类所包含的一切吗? 起初,作者认为这个问题的答案是否定的,因为子类无法访问父类的private成员 但是,运行下述一个 ... 
- dfm格式初解之TTreeView
			TTreeView 的 Items.NodeData 值解析: Items.NodeData = { 0302000000200000000000000000000000FFFFFFFFFFFFFFF ... 
- 编写bash脚本快速kill或启动tomcat
			假设tomcat安装路径为 /home/tomcat,示例如下: 1. kill tomcat进程 vim kill-tomcat-force.sh set fileformat=unix path ... 
- .NET Core 异常(Exception)底层原理浅谈
			中断与异常模型图 内中断 内中断是由 CPU 内部事件引起的中断,通常是在程序执行过程中由于 CPU 自身检测到某些异常情况而产生的.例如,当执行除法运算时除数为零,或者访问了不存在的内存地址,CPU ... 
