外置系统无法进入
关于外置系统盘启动错误
前言
开发本人初学Linux系统时,最开始是是从虚拟机上学习Linux系统。但在虚拟机这玩意上面部署集成开发工具时就十分的卡顿,只适合拿来作环境部署,运行调试(快照是真的牛P),但拿来做开发是有点猫病。我同学是Windows开发(Java),完成后部署到Linux运行。我是开发Go,虽然也可以windows开发,但怎么说呢,为了避免一些莫名其妙的问题,我还是选择原生系。在使用双系统时,Linux出了一些问题,因为是双系统,所以没有快照解决问题。
因为刚好有一个外置固态存储,就拿它来作系统盘。因为是外部搭载,经常需要插拔,所以出现问题的情况比较多,也比较频繁(相比较与内置系统盘)
情况 1 开机进入 Initramfs
一般开机进入initramfa界面的时候,输入exit是不能退出的。
initrafmas> ls /dev
打印磁盘信息
选择打印的磁盘修复。这个问题是很久以前的,现在就记得外个人外盘为sdb2。如何查找问题磁盘已经忘记,下次出现initramfs问题,再走一遍全部流程。
fsck -y /dev/sdb2 #为修复命令,无损数据,可以操作所有盘
一般为不正常供电引起。具体详细原因没找出(有时是为插拔usb设备,有时重启出现,有时拷贝大文件到外置)。如果在系统使用过程中出现,那么用户文件夹下文件将全部加锁,变为只读模式,并且只能强制关机。
情况2 开机进入 grub
注意
当外置读盘器故障(根本没接外置)时,强行选择外盘选项,也会进入grub。注意排除变量。
grub>ls
打印磁盘信息
打印信息一般为(hd0)(hd0,gpt1),(hd0,gpt2),........(hd1,gpt1),(hd1,gpt2).....,(hd2,gpt1),(hd2,gpt2)........等信息。
其中hd0 表示磁盘数,为我挂载外盘后,系统就有3个磁盘。gpt 表示分区数,我数据盘分了两个区(data与picture)。数目有时存在一定差异,因为有些分区操作会多分1M的区来作分区之间的隔离。该隔离分区因为体积过于太小,很多分区软件不会显示。但在grub中会显示出来。若没有外盘,hd的数目将不足。
一般情况是windows C盘所在磁盘为hd0,数据盘为hd1,外置盘为hd2。但一般情况还不出问题呢。有些时候,外置会占用hd0,将所有盘号往后挤。
确定外置系统所在分区
出现打印信息后,用户需要一个一个分区查看。
grub> ls (hd0,gpt1) #查看全部的打印信息
如果打印信息为unknown filesystem 表明该磁盘文件系统为未知。一般windows引导盘EFI分区盘,或隔离盘。
若打印信息中有Ext*,则表名该分区盘为linux系统。基本可以确定该磁盘下的该分区为我们的目的分区((我的外置分区为(hd0,gpt2)有时识别出来为(hd2,gpt2)所以需要确定)。如果不放心,可以操作以下命令查看详细信息:
grub> ls (hd2,gpt2)/home #输入home时可以用tab键补全,将打印home下的用户组
grub> ls (hd2,gpt2)/home/aaa #打印aaa 用户下所属文件夹的名字
通过以上方法可以完全确定目标分区。
手动指定引导文件,进入系统
grub> root=(hd0,gpt2)
grub> prefix=/boot/grub
grub> set root=(hd0,gpt2)
grub> set prefix=(hd0,gpt2)/boot/grub
grub> insmod normal
grub> normal
指定引导文件所在位置,为了进入ubuntu开机启动选项。

这里就可以进入系统了,我的有windows选项。但注意,这个时候是还未修复引导文件,下一次启动大概率还是会出问题。
进入系统修复
开启终端
sudo update-grub # 更新grub
sudo grub-install /dev/sda #导入
修复完成!
引起原因
在重新进入外置系统时出现过,在没有挂载外置时强行选择外盘。系统找不到grub引导。
情况3 多个系统,无法进入外盘系统
情况描述
这是最离谱的情况。先说明一些情况,大家看情况。
-
插上外盘后,内置系统进入极慢。
-
并且只能在grub下能够找到外置盘(内置ubuntu正常是能够识别外置ubuntu,并进行文件操作)。
在前段时间,我在系统盘分了一个区来作ubuntu。这样我就有一个windows10,一个ubuntu20.04在系统盘上,有一个ubuntu20.04在外盘。系统盘都能够进入,但外置盘系统无法进入。没有进入initramfs,强制进入外盘选项卡,会进入grub。或在选项卡界面按 “c” 进入grub。
在grub时,按以上操作完成后,会出现两份内置盘的开机选项卡,两份一模一样内置ubuntu选项。
在内置ubuntu下修复grub,将导致外置盘启动选项卡消失。
解决方法
既然能够进入内置ubuntu ,那就进入内置操作。没有内置盘,可以用ubuntu的启动盘,不要选择导入,选择试用即可。
打开命令终端:
sudo fdisk -l #查看原始分区
找到你要处理的盘,可以通过磁盘大小找,信息很多,看关键就行。并且可以很方便排除其他盘。
内置盘

外盘

size为1T的是我的机械盘,120G的是我的外盘。
我们需要的信息是外盘的原始分区名,我的外盘为/dev/sdb2
sudo fsck -y /dev/sdb2 #修复sdb2
如果有提问,选yes就行。我没遇到询问,其他博客都说一路yes。
修复完成,重启
引起原因
未知,我前一天还使用了,但第二天回家就不能进入了。
万能方法
重装系统。但这样是无法进步的。除非你刚刚才装完系统。使用时间越长,重装成本越大。

浙公网安备 33010602011771号