今天突然双系统的主机(win11+Ubuntu)自己关机了,有点懵!
再次开机后,显示如下图所示:

查询后,得知这是一个创建的Linux文件系统损坏的问题:错误信息 "Superblock checksum does not match" 意味着该分区(/dev/nvme1n1p3)的“超级块”(Superblock,存储文件系统元数据的关键部分)损坏了,导致系统无法挂载它,也找不到 /sbin/init 来启动系统,最终掉到了 (initramfs) 命令行界面。
解决方案1:
尝试使用备用超级块修复:
e2fsck -b 8193 /dev/nvme1n1p3
尝试过之后,没有解决;
解决方案2:
输入下述命令:
e2fsck -b 32768 /dev/nvme1n1p3
尝试之后,还是不行;
后来采用的通用的修复方案:
e2fsck -y /dev/nvme1n1p3
-
运行之后:会看到屏幕疯狂滚动很多数字和 fix 信息。这是正常的。最终得到如下图所示:

然后reboot重启就行。这样处理完之后,可以正常开机了!!!
但是,查询帖子说,这种文件系统损坏(涉及到超级块和大量inode错误),往往是硬盘硬件即将故障的前兆。
结果半小时之后,电脑又出现了这样的结果;
于是我决定更换硬盘,然后来克隆数据。
目前nvme1n1p3被我挂载为ubuntu文件系统根目录,然后我有一个新的1T的固态硬盘,目前已经将这块硬盘设置为空闲,我现在想把原来nvme1这块固态硬盘替换下来,想通过克隆硬盘的方式,让新硬盘来替换旧硬盘。
准备工作:
-
一个 Ubuntu 安装 U 盘(Live USB):你需要用它来启动电脑,进入“试用 Ubuntu”模式。
-
我是台式机,确保两块 NVMe 硬盘都插在主板上。
详细步骤:
1、进入Live USB环境:
-
将 Ubuntu 安装 U 盘插入电脑。
-
重启电脑,进入 BIOS/Boot Menu,选择从 U 盘启动。
-
在启动菜单中选择 "Try Ubuntu without installing" (试用 Ubuntu)。
2、确认盘符
通过GParted软件确定:
旧盘:nvme1n1(953.87GiB)
新盘:nvme2n1(931.51GiB)
遇到的情况很经典啊,是大盘克隆到小盘;
2.1 在 GParted 右上角,确保选中的是 953.87GiB 的旧硬盘(Source);
2.2 压缩主分区 (Resize):
-
从右向左拖动黑色箭头,或者在 "Free space following"(后置空闲空间)输入框里输入 50000 (即 50GB)。
-
关键指标:调整后,确保该分区的“结束位置”加上前面所有分区的大小,总和小于 920GB。
- 点击 Resize/Move 确认。
- 应用更改。
2.3 使用dd命名,克隆硬盘,打开终端:
sudo dd if=/dev/nvme1n1 of=/dev/nvme2n1 bs=64K status=progress
等待复制到新盘满了的时候,会又报错:设备空间不足;
然后打开尝试用GParted中直接修复分区表位置不对的问题,但是失败了。
3.使用gdisk修复工具修复,命令如下:
sudo gdisk /dev/nvme2n1
进入 gdisk 界面后,请依次输入以下字母并回车:
-
它可能会在启动时就提示一大堆黄色或红色的警告,说 "Disk size is smaller than GPT headers indicate"(磁盘比分区表小),这是对的。
-
输入
x(进入 Expert 专家模式)。 -
输入
e(Relocate backup data structures to the end of the disk - 把原本溢出的备份表移到现在的硬盘末尾)。 -
输入
w(Write - 写入更改)。 -
输入
Y(确认写入)。
4. 再用GParted润健检查一下确认修复了,然后关机;
5. 最后拔掉Ubuntu系统U盘,把旧盘拆下来(非常重要!!!);
6. 开机,正常进入系统了,耶!
浙公网安备 33010602011771号