更换硬盘后修复启动项历程
- 【一】真正的正确方法
- 【二】绕了一圈的错误方法
- 【1】创建windows启动项
- 【2】创建ubuntu启动项
- 【3】 删除ubuntu,引导崩溃,进入grub后再修复ubuntu
【一】真正的正确方法
我的笔记本硬盘快坏了,想换个硬盘,但是我不想重装系统,所以我想着磁盘对拷,系统迁移以后直接用,我用的diskgenius进行系统迁移,这样问题就来了。我发现我开机启动以后原先的ubuntu是好的,但是windows启动不了了。其实到这一步,正确的做法是进入ubuntu系统然后运行命令,更新grub就好了:
sudo update-grub
注:其实就是因为换硬盘了,uuid变了。所以找不到原先windows的启动文件了。
但是一开始我不知道,接下来开始我错误而又愚蠢的骚操作。疯狂探索。
【二】绕了一圈的错误方法
【1】创建windows启动项
首先我觉得windows启动项坏了,所以我用pe系统中的启动项修复工具修复,然后发现不好使,我觉得可能是之前启动项没有删干净,导致创建不了新的,所以我就将system(esp区)的所有文件格式化(这一步就出错了,导致我ubuntu的启动引导项被我也格掉了)了。再用PE启动项修复工具重新创建了启动项。这下windows的引导项好,但是ubuntu的引导项没了。
注:在用修复工具时要用diskgenius给system区分一个盘符,才能使用。如果没有工具就使用终端的bcdboot命令也行。
下面命令就是为windows创建一个启动项:
bcdboot C:\Windows /s F: /f uefi /l zh-cn
各参数的具体含义:
c:\windows 系统安装目录,打开我的电脑,查看你的系统是安装在那个盘,就输入相应的盘符和目录。
/s F: 指定esp分区所在磁盘,小编指定ESP分区为F盘。(这就是为什么之前要分配一个盘符)
/f uefi 指定启动方式为uefi,注意之间的空格一定要输入。
/l zh-cn 指定uefi启动界面语言为简体中文
【2】创建ubuntu启动项
没啥说的,我直接分了一片区域,然后重装了一套ubuntu系统,就有ubuntu的启动项了,然后再把那个系统删了。 安装系统的时候全部装到/ 下面就好了,不用分区。
【3】 删除ubuntu,引导崩溃,进入grub后再修复ubuntu
这里出问题还是因为ubuntu启动项中的uuid不是我原来的ubuntu的。
所以第一件事是去找到原来ubuntu的uuid是啥。
用微PE的diskgenius找到我原来ubuntu系统/boot/grub下的grub.cfg文件找到uuid。
然后再进入主启动项的grub.cfg文件中将uuid更改成上述的数值。
最终绕了一个圈,又回来了,但是我至少知道怎么格式化esp分区后,怎么再创建system下的windows和ubuntu启动项了。
完结。
更换硬盘后修复启动项历程
- 【一】真正的正确方法
- 【二】绕了一圈的错误方法
- 【1】创建windows启动项
- 【2】创建ubuntu启动项
- 【3】 删除ubuntu,引导崩溃,进入grub后再修复ubuntu
【一】真正的正确方法
我的笔记本硬盘快坏了,想换个硬盘,但是我不想重装系统,所以我想着磁盘对拷,系统迁移以后直接用,我用的diskgenius进行系统迁移,这样问题就来了。我发现我开机启动以后原先的ubuntu是好的,但是windows启动不了了。其实到这一步,正确的做法是进入ubuntu系统然后运行命令,更新grub就好了:
sudo update-grub
注:其实就是因为换硬盘了,uuid变了。所以找不到原先windows的启动文件了。
但是一开始我不知道,接下来开始我错误而又愚蠢的骚操作。疯狂探索。
【二】绕了一圈的错误方法
【1】创建windows启动项
首先我觉得windows启动项坏了,所以我用pe系统中的启动项修复工具修复,然后发现不好使,我觉得可能是之前启动项没有删干净,导致创建不了新的,所以我就将system(esp区)的所有文件格式化(这一步就出错了,导致我ubuntu的启动引导项被我也格掉了)了。再用PE启动项修复工具重新创建了启动项。这下windows的引导项好,但是ubuntu的引导项没了。
注:在用修复工具时要用diskgenius给system区分一个盘符,才能使用。如果没有工具就使用终端的bcdboot命令也行。
下面命令就是为windows创建一个启动项:
bcdboot C:\Windows /s F: /f uefi /l zh-cn
各参数的具体含义:
c:\windows 系统安装目录,打开我的电脑,查看你的系统是安装在那个盘,就输入相应的盘符和目录。
/s F: 指定esp分区所在磁盘,小编指定ESP分区为F盘。(这就是为什么之前要分配一个盘符)
/f uefi 指定启动方式为uefi,注意之间的空格一定要输入。
/l zh-cn 指定uefi启动界面语言为简体中文
【2】创建ubuntu启动项
没啥说的,我直接分了一片区域,然后重装了一套ubuntu系统,就有ubuntu的启动项了,然后再把那个系统删了。 安装系统的时候全部装到/ 下面就好了,不用分区。
【3】 删除ubuntu,引导崩溃,进入grub后再修复ubuntu
这里出问题还是因为ubuntu启动项中的uuid不是我原来的ubuntu的。
所以第一件事是去找到原来ubuntu的uuid是啥。
用微PE的diskgenius找到我原来ubuntu系统/boot/grub下的grub.cfg文件找到uuid。
然后再进入主启动项的grub.cfg文件中将uuid更改成上述的数值。
最终绕了一个圈,又回来了,但是我至少知道怎么格式化esp分区后,怎么再创建system下的windows和ubuntu启动项了。
完结。