记一次帮别人安装系统的经历
网上有大量关于 Linux 操作系统的安装教程,可以参考一下。现在都流行 GPT+UEFI 了,但有些文章还用过时 MBR+legacy。再就是安装步骤看似很详细,实际上很简陋。大量的截图只告诉鼠标怎么点、下一步怎么做,根本没有关注核心技术问题。无法识别 U 盘怎么办? 硬盘找不到怎么办? 引导怎么搞? 等等。
这篇文章想记录一下安装系统的一些细节,供大家参考。注意,我不会从头到尾的讲解,因为每个人的分区方案、UEFI 固件、BIOS 设置不同,我的方法对大家不一定适用。我只会说一些所有人都需注意的点。总之安装操作系统是非常复杂的,没有什么通用的步骤,但有的方面一定要注意!
制作启动盘
只要 u 盘或移动硬盘上有一个 fat32 的分区,分区的根目录下有个文件夹叫 EFI,UEFI 就会自动去查找相应的启动文件(.efi)。如果你刚制作了 ubuntu 64 位的启动 u 盘,可以打开它,你会发现分区的文件系统是 fat32,确实有一个 EFI 文件夹,进去看看就是各种.efi 引导文件。因此现在想制作可启动的 u 盘或移动硬盘就简单了,只需要格式化分区、复制粘贴就行了。
然而我那个同学只会用 UltraISO 刻录工具,虽然成功安装了系统,但把她的 U 盘搞坏了。我也不知道她怎么搞的,U 盘制作成启动盘后不能分区、不能格式化、不能重建分区表,总之各种问题。具体参见下文“U 盘修复”。
如果格式化为 FAT32,复制粘贴就不会有这么多坑人的问题了。
BIOS 设置 NVME 协议 ssd 无法识别
我和她用的都是戴尔的电脑,之前装 Linux 系统时积累的大量经验派上了用场。
首先关闭 Secure Boot。UEFI 安全引导(Secure Boot)的核心职能就是利用数字签名来确认 EFI 驱动程序或者应用程序是否是受信任的。一般安装 Linux 的电脑会关闭 Secure Boot,不然有可能无法引导。
进入 ubuntu 安装界面后,居然无法识别 ssd。
参考这篇文章 https://blog.csdn.net/ksws0292756/article/details/79120087 作者: ZeroZone 零域
戴尔的主机默认的 SATA 模式是 Raid on 模式,该模式主要是为了当主机拥有多块相同硬盘时而设置的,一般情况下,我们的主机都是由一块 SSD 和一块机械硬盘组成,所以并不推荐使用 Raid on 模式。
另外,使用 Raid on 模式安装系统,不仅需要下载额外的驱动,有时还会导致 windows 无法正常更新,或者安装失败的未知错误,所以在这里推荐安装系统的时候讲 BIOS 里的 SATA 模式修改成 AHCI 模式,这样不仅有利于 SSD 性能优势的发挥,而且不会产生各种不明错误。
首先,进入 BIOS
找到 System configure(好像是这个,如果不是就到处翻一翻)
找到 SATA 相关字样的设置,将 SATA 模式更改成 AHCI 模式,然后重启电脑。
OK ubuntu 安装盘终于识别了 ssd。
Windows 修复
安好 ubuntu 系统后,windows 系统坏掉了!!启动 win 进入到“自动修复”界面,自动修复也修不好。我立刻意识到问题是什么了。如果在原先系统上直接更改 AHCI 模式,会导致无法正确引导当前系统,但是我们又必须使用 AHCI 模式。 【图片】
还是参考这篇文章 https://blog.csdn.net/ksws0292756/article/details/79120087 作者: ZeroZone 零域
** 利用安全模式绕过引导 ** 之后再取消安全模式,开机成功进入页面,证明我们开启 AHCI 模式成功。
U 盘修复
上面那些问题都是老生常谈,没什么困难的,如果熟练的话很快就能解决,连资料都不用查。但“U 盘修复”这个问题花了我几个小时才解决。
装完双系统后,她问:如何把 u 盘变回去? 我想这还不简单么,u 盘重新分区、格式化就行了。这时问题来了。Disk 无法格式化、Gparted 无法分区。说是输入输出错误,无法识别磁盘标识。
这种情况,一般考虑磁盘分区表损坏。我们只需用命令重建分区表即可,然而。
我靠,命令也失效了。这可怎么办才好,在网上查了一些资料,怀疑磁盘元数据损坏。磁盘应该是正常的,刚刚还用它安装系统呢。
执行 sudo dd if=/dev/zero of=/dev/sda bs=4M 清空磁盘。我猜只需要把前面一些扇区清空就可以了。她的 U 盘很大 128G 的,所以我建议重新分区格式化为 NTFS 格式。但悲剧又发生了,NTFS 处于不一致状态。
查了一些资料,说 NTFS 是闭源什么什么的,要用 windows 修复。我灵机一动,FAT 格式的通用性最好,在所有设备上都可以使用,那就格式化为 FAT 吧。果然问题终于解决了。