外置系统无法进入

关于外置系统盘启动错误

前言

开发本人初学Linux系统时,最开始是是从虚拟机上学习Linux系统。但在虚拟机这玩意上面部署集成开发工具时就十分的卡顿,只适合拿来作环境部署,运行调试(快照是真的牛P),但拿来做开发是有点猫病。我同学是Windows开发(Java),完成后部署到Linux运行。我是开发Go,虽然也可以windows开发,但怎么说呢,为了避免一些莫名其妙的问题,我还是选择原生系。在使用双系统时,Linux出了一些问题,因为是双系统,所以没有快照解决问题。

因为刚好有一个外置固态存储,就拿它来作系统盘。因为是外部搭载,经常需要插拔,所以出现问题的情况比较多,也比较频繁(相比较与内置系统盘)

情况 1 开机进入 Initramfs

一般开机进入initramfa界面的时候,输入exit是不能退出的。

initrafmas> ls /dev

打印磁盘信息
选择打印的磁盘修复。这个问题是很久以前的,现在就记得外个人外盘为sdb2。如何查找问题磁盘已经忘记,下次出现initramfs问题,再走一遍全部流程。

fsck -y /dev/sdb2 #为修复命令,无损数据,可以操作所有盘

一般为不正常供电引起。具体详细原因没找出(有时是为插拔usb设备,有时重启出现,有时拷贝大文件到外置)。如果在系统使用过程中出现,那么用户文件夹下文件将全部加锁,变为只读模式,并且只能强制关机。

initramfs修复链接

情况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开机启动选项。

t

这里就可以进入系统了,我的有windows选项。但注意,这个时候是还未修复引导文件,下一次启动大概率还是会出问题。

进入系统修复

开启终端

sudo update-grub # 更新grub
sudo grub-install /dev/sda #导入

修复完成!

引起原因

在重新进入外置系统时出现过,在没有挂载外置时强行选择外盘。系统找不到grub引导。

grub修复查考链接

情况3 多个系统,无法进入外盘系统

情况描述

这是最离谱的情况。先说明一些情况,大家看情况。

  1. 插上外盘后,内置系统进入极慢

  2. 并且只能在grub下能够找到外置盘内置ubuntu正常是能够识别外置ubuntu,并进行文件操作)。

在前段时间,我在系统盘分了一个区来作ubuntu。这样我就有一个windows10,一个ubuntu20.04在系统盘上,有一个ubuntu20.04在外盘。系统盘都能够进入,但外置盘系统无法进入。没有进入initramfs,强制进入外盘选项卡,会进入grub。或在选项卡界面按 “c” 进入grub。

在grub时,按以上操作完成后,会出现两份内置盘的开机选项卡,两份一模一样内置ubuntu选项

内置ubuntu下修复grub,将导致外置盘启动选项卡消失。

解决方法

既然能够进入内置ubuntu ,那就进入内置操作。没有内置盘,可以用ubuntu的启动盘,不要选择导入,选择试用即可。

打开命令终端:

sudo fdisk -l #查看原始分区

找到你要处理的盘,可以通过磁盘大小找,信息很多,看关键就行。并且可以很方便排除其他盘。

内置盘

内置盘

外盘

s

size为1T的是我的机械盘,120G的是我的外盘

我们需要的信息是外盘的原始分区名,我的外盘为/dev/sdb2

sudo fsck -y /dev/sdb2	#修复sdb2 

如果有提问,选yes就行。我没遇到询问,其他博客都说一路yes。

修复完成,重启

引起原因

未知,我前一天还使用了,但第二天回家就不能进入了。

万能方法

重装系统。但这样是无法进步的。除非你刚刚才装完系统。使用时间越长,重装成本越大。

posted @ 2021-09-07 18:05  正经人该有正经名字  阅读(832)  评论(0)    收藏  举报