Ubuntu在强制重启后出现问题,—[ end kernel panic – not syncing: Attempted to kill init! exit code=0x00000100]-

阿里云教程4个月前发布
35 0 0

Ubuntu20.04  这是 Linux 系统内核崩溃(Kernel Panic)的调试界面,核心信息为 “Attempted to kill init! exit code=0x00000100”,同时显示了崩溃时的 CPU 寄存器状态、内核偏移地址等调试数据。其本质是系统的根进程(init)被意外终止,导致系统失去核心管理进程,触发内核强制终止以避免数据损坏。

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

前期准备:制作 Ubuntu Live CD/USB

一、所需工具与镜像

Ubuntu 20.04 镜像:从Ubuntu 官网下载(需与故障系统版本一致或兼容)。启动盘制作工具
Windows:Rufus、balenaEtcher(选择 “DD 模式” 或 “写入镜像”)。Linux/macOS:
dd
 命令(终端执行:
sudo dd if=ubuntu-22.04.iso of=/dev/sdX bs=4M status=progress

/dev/sdX
 为 U 盘设备名)。

Ubuntu Live CD 启动盘制作工具详解

Windows 系统推荐工具:Rufus

Rufus是 Windows 下制作 Linux 启动盘的最佳选择,轻量级 (仅几 MB)、开源且高效,支持 UEFI/GPT 和传统 BIOS 启动。

1. 下载安装

访问官方网站:https://rufus.ie/ 或中文镜像:https://rufus.org.cn/下载对应系统版本 (32 位 / 64 位) 的可执行文件 (无需安装,解压即可运行)

2. 详细制作步骤

步骤 操作说明 注意事项
①插入 U 盘 将 8GB + 容量 U 盘插入电脑 (数据会被清空,提前备份) 推荐 USB 3.0 接口,速度更快
②启动 Rufus 双击 Rufus.exe,界面自动识别 U 盘 若识别多个设备,从下拉菜单选择正确 U 盘
③选择设备 在 “设备” 下拉框中选择目标 U 盘 (如 Kingston DataTraveler) 确认设备名称和容量正确
④选择镜像 点击 “选择” 按钮,浏览并选中下载好的 Ubuntu ISO 文件 确保 ISO 文件完整 (可先校验 SHA256)
⑤设置分区方案 新电脑 (2012 年后) 选 “GPT”,旧电脑选 “MBR” 这是启动兼容性的关键设置
⑥设置目标系统 GPT 选 “UEFI (非 CSM)”,MBR 选 “BIOS 或 UEFI (CSM)” 确保与目标电脑启动模式一致
⑦其他设置 文件系统选 FAT32,簇大小保持默认 对 Linux 系统,此配置兼容性最佳
⑧开始制作 点击 “开始” 按钮,确认警告 (U 盘将被格式化) 整个过程约 5-15 分钟,视文件大小而定

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

关键设置示例

plaintext



设备: 可移动磁盘 (F:)
分区类型: GPT
目标系统类型: UEFI(非CSM)
文件系统: FAT32(FAT)
簇大小: 4096字节

  

3. 常见问题与解决方案

问题 1:制作完成后无法从 U 盘启动

检查 BIOS/UEFI 设置:确保已禁用 “Secure Boot”,并将 USB 设为第一启动项重新制作:在 Rufus 中尝试切换分区方案 (GPT ↔ MBR) 或目标系统类型

问题 2:写入速度慢

使用 USB 3.0 接口 (蓝色接口)在 Rufus 中尝试调整 “簇大小”(通常 4096 字节最佳)

macOS 系统推荐工具:balenaEtcher

balenaEtcher(原 Etcher) 是跨平台工具,macOS 下制作启动盘的首选,界面简洁,操作直观。

1. 下载安装

官网:https://www.balena.io/etcher/App Store 搜索 “balenaEtcher” 直接安装

2. 详细制作步骤

插入 8GB+ U 盘启动 balenaEtcher点击 “Select image”(选择镜像),找到下载好的 Ubuntu ISO点击 “Select target”(选择目标),选中插入的 U 盘点击 “Flash!”(开始烧录),确认警告 (数据将被删除)等待进度条完成 (约 5-15 分钟),显示 “Flash Complete”(烧录完成) 后安全移除 U 盘

macOS 特有注意事项

若提示 “无法打开 balenaEtcher,因为 Apple 无法检查其是否包含恶意软件”:
打开系统设置→安全性与隐私→通用在 “允许从以下位置下载的 App” 中选择 “App Store 和被认可的开发者”若仍无法打开,点击 “仍要打开” 按钮 (需按住 Control 键点击应用图标)

Linux 系统推荐工具:dd 命令 (推荐) 或 Startup Disk Creator

1. 使用 dd 命令 (所有 Linux 发行版通用,推荐)

优势:无需安装额外工具,原生支持,最可靠的底层写入方式

步骤

bash

运行



# 1. 插入U盘,查看设备名称
lsblk
 
# 2. 卸载U盘(确保未挂载)
sudo umount /dev/sdX  # 替换X为你的U盘设备字母(如sdb)
 
# 3. 使用dd命令写入镜像(注意:命令中的"of="必须是设备名而非挂载点)
sudo dd if=/path/to/ubuntu.iso of=/dev/sdX bs=4M status=progress
 
# 4. 等待完成(显示进度条,速度取决于U盘读写性能)
# 5. 安全移除U盘
sudo sync

关键参数解释


if=
: input file (输入文件,即 ISO 镜像)
of=
: output file (输出文件,即 U 盘设备,如 /dev/sdb)
bs=4M
: block size (块大小,建议 4M 以提高速度)
status=progress
: 显示进度条 (需 GNU coreutils 支持)

注意:若使用 Ubuntu 等桌面环境,可先在文件管理器中卸载 U 盘,再执行 dd 命令

2. 使用 Startup Disk Creator (Ubuntu 官方图形工具)

步骤

打开应用菜单,搜索 “Startup Disk Creator”(或 “USB 启动盘创建器”)点击 “Other…” 选择下载好的 ISO 文件在 “Disk to use” 下拉框中选择 U 盘点击 “Make Startup Disk”(创建启动盘)输入用户密码,确认警告 (数据将被删除)等待完成 (进度条显示 100% 后即可使用)

局限性:仅适用于 Ubuntu 官方 ISO,对其他 Linux 发行版支持有限

四、跨平台通用工具:balenaEtcher (强烈推荐)

无论 Windows、macOS 还是 Linux,都可使用同一工具,操作方法完全一致,是多系统环境的最佳选择。

统一操作流程:

下载对应平台版本 (官网: https://www.balena.io/etcher/)启动应用三步完成:选择镜像→选择设备→点击 “Flash!”

优势

自动校验写入完整性,确保启动盘可靠支持 ISO、IMG、ZIP 等多种镜像格式,无需解压直观界面,适合所有水平用户内置进度显示和错误检测,成功率高

制作工具对比表

工具 适用系统 优势 劣势 推荐场景
Rufus Windows 速度快、选项丰富、支持 UEFI/BIOS 双启动 仅 Windows 可用 Windows 用户制作 Linux 启动盘
balenaEtcher Windows/macOS/Linux 跨平台统一体验、操作简单、自动校验 功能相对基础,自定义选项少 多系统环境、新手用户
dd 命令 Linux/macOS 原生支持、最底层写入、无依赖 命令行操作,需谨慎 (误操作可能损坏硬盘) Linux 专业用户、需要精确控制
Startup Disk Creator Ubuntu 官方工具,与 Ubuntu 集成好 仅支持 Ubuntu 官方 ISO Ubuntu 用户制作官方启动盘

制作成功关键因素与注意事项

1. U 盘选择与准备

容量要求:Ubuntu 标准 ISO 约 2-4GB,建议使用8GB+ U 盘 (预留空间)质量优先:使用知名品牌 U 盘 (如 SanDisk、Kingston),避免使用劣质扩容盘数据备份:制作前必须备份 U 盘中重要数据,制作过程会完全格式化

2. 镜像验证 (重要)

下载完成后,务必校验 ISO 文件完整性:

Windows: 使用 HashTab 等工具计算 SHA256Linux/macOS: 在终端执行
sha256sum /path/to/ubuntu.iso
,与官网提供的校验值对比若校验失败,重新下载镜像 (文件损坏会导致启动失败)

3. 启动设置 (使用前必备)

插入制作好的 U 盘,重启电脑开机时按对应按键进入 BIOS/UEFI 设置 (常见按键: F2、F10、F12、Del,屏幕会提示)禁用 “Secure Boot”(如 UEFI 模式)设置 “从 USB 设备启动” 为第一启动项保存并退出,电脑将从 U 盘启动

二、第一步:从 Live CD/USB 启动故障电脑

1. 进入 BIOS/UEFI 设置

开机时按快捷键进入启动项选择(不同主板快捷键:F2、F10、F12、Del,屏幕会提示)。禁用 “Secure Boot”(部分电脑需关闭此选项才能识别 Live 介质),设置 “从 USB/CD-ROM 启动” 为第一优先级。

我的电脑是dell, 开机时要一直按F12,成功进入的界面,选择u盘,enter:

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

2. 进入 Live 试用环境

选择 “Try or Install Ubuntu”(在选择try ubuntu,直接进入临时 Ubuntu 桌面)。

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

等待桌面加载完成后,打开 终端(快捷键:Ctrl+Alt+T),开始后续修复。

注:如果进去界面是黄色的

这是Live 环境的显卡驱动不兼容问题(Ubuntu Live 默认的通用显卡驱动和你的戴尔主机硬件不匹配,导致显示混乱),需要通过添加内核参数解决,步骤如下:

步骤 1:重启 U 盘并编辑 GRUB 启动参数

重启这台戴尔主机,再次从 U 盘启动;当出现 GRUB 启动菜单(显示 “Try or Install Ubuntu” 的界面)时,不要直接按回车,按键盘上的
e
键进入启动参数编辑模式;

步骤 2:添加显卡兼容参数(
nomodeset

在编辑界面中,找到以
linux /boot/vmlinuz-xxx-generic
开头的行(内核启动参数行);Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

在这一行的末尾(保持空格分隔)添加参数:
nomodeset
示例(修改后):


linux  /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash nomodeset ---


Ctrl+X
启动 U 盘系统;

步骤 3:验证显示是否恢复正常

启动后,Ubuntu Live 的桌面会切换为基本显卡驱动(VESA 模式),黄色模糊的界面会恢复为正常的 Ubuntu 桌面(清晰的图标和文字)。


nomodeset
无效(极少情况)

可尝试其他显卡兼容参数(根据主机显卡类型选择):

若主机用AMD 显卡:添加
radeon.modeset=0
若主机用NVIDIA 显卡:添加
nouveau.modeset=0
通用兼容参数:添加
acpi_osi=linux

后续操作

显示恢复正常后,继续按之前的修复步骤(识别根分区、修复文件系统、chroot 修复等)即可。

这个问题的核心是Live 环境的通用驱动无法适配服务器 / 主机的专业显卡
nomodeset
会强制系统使用基础显示驱动,从而解决显示混乱的问题。

三、第二步:识别故障系统分区(关键!)

需先确认原系统的 根分区
/
)和 EFI 分区(UEFI 启动需用到),避免操作错误分区导致数据丢失。

1. 查看分区列表

执行以下命令,通过 “大小”“文件系统类型” 判断目标分区:



# 方法1:显示分区详情(推荐,含文件系统类型)
lsblk -f
 
# 方法2:显示分区表(含分区编号)
sudo fdisk -l

2. 分区判断

分区类型 特征(参考) 常见设备名
根分区(/) 大小较大(如 50GB+),文件系统为 
ext4
 或 
btrfs

/dev/sda2

/dev/nvme0n1p2
EFI 分区(UEFI) 大小较小(100MB-512MB),文件系统为 
vfat

/dev/sda1

/dev/nvme0n1p1
BIOS 启动(无 EFI) 无单独 EFI 分区,根分区直接引导
/dev/sda1

记录目标分区:例如根分区为 
/dev/sda2
,EFI 分区为 
/dev/sda1
(后续命令需替换为实际设备名)。

我的电脑的磁盘大小与下图中一致,type是linux的是根分区,就是nvme0n1p5

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

3. 如何判断是不是根分区

根据你的描述,根分区是 
/dev/nvme0n1p5
 大概率是没问题的
!以下是具体分析和验证步骤,帮你 100% 确认:

一、为什么这个判断合理?

硬盘类型正常
nvme0n1
 是 M.2 接口的固态硬盘(现代电脑主流配置),比传统 
sda
 硬盘更常见于新主机,分区编号从 
p1
 开始(如 
p1
=EFI 分区、
p2
= 恢复分区、
p5
= 根分区),符合 UEFI 启动的分区布局逻辑;容量判断核心:你是通过 “大小” 筛选的 —— 根分区通常是内置硬盘中容量最大的分区(几十 GB~ 几百 GB),而 
nvme0n1p5
 若满足这个特征,基本可以锁定;分区编号合理:UEFI 启动的电脑,
nvme0n1p1
 通常是 EFI 分区(小容量,
vfat
 格式),
p2
~
p4
 可能是恢复分区、保留分区等,
p5
 作为根分区是非常典型的布局。

二、3 步快速验证(确保万无一失)

执行以下命令,验证 
/dev/nvme0n1p5
 是否为真正的根分区:

步骤 1:再次确认文件系统类型(关键)

bash

运行


lsblk -f | grep nvme0n1p5

若输出中 
FSTYPE
 列显示 
ext4
 或 
btrfs
(Ubuntu 根分区默认格式),则进一步确认;若显示 
vfat
(EFI 分区)、
ntfs
(Windows 分区)或无格式,则不是根分区。

步骤 2:通过 UUID 交叉验证(更精准)

根分区的 UUID 会记录在 
/etc/fstab
 中,可通过挂载后查看:

bash

运行



# 临时挂载 nvme0n1p5 到 /mnt/test
sudo mount /dev/nvme0n1p5 /mnt/test
 
# 查看该分区是否包含系统核心目录(最直接的验证)
ls /mnt/test | grep -E "bin|etc|home|root|usr"

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

若输出包含 
bin
(系统命令目录)、
etc
(配置文件目录)、
home
(用户数据目录),则 100% 是根分区;若目录为空或只有零散文件,则不是。

步骤 3:卸载临时挂载(验证后必做)

bash

运行


sudo umount /mnt/test

三、如果验证通过,后续操作直接执行!

确认 
/dev/nvme0n1p5
 是根分区后,继续按之前的修复流程操作:

修复文件系统(根据 FSTYPE 选择命令):



# 若 FSTYPE 是 ext4(最常见)
sudo fsck -fy /dev/nvme0n1p5
 
# 若 FSTYPE 是 btrfs(极少数情况)
sudo btrfs check --repair /dev/nvme0n1p5

后续的 
chroot
 修复、重建 initramfs 等操作,均以 
/dev/nvme0n1p5
 作为根分区执行即可。

四、第三步:修复文件系统(核心解决 “init 进程损坏” 根源)

强制重启常导致根分区文件系统损坏,需先通过 
fsck
 修复(需确保分区未挂载)。

1. 卸载已挂载的根分区(若自动挂载)



# 先查看是否挂载:若 /mnt 下有内容,说明已挂载
df -h | grep /dev/nvme0n1p5
 
# 若已挂载,执行卸载(替换为你的根分区)
sudo umount /dev/nvme0n1p5

2. 执行文件系统修复

根据根分区的文件系统类型选择命令,
-y
 表示 “自动确认所有修复操作”,无需手动按 
y



# 1. 若根分区为 ext4(最常见)
sudo fsck -fy /dev/nvme0n1p5
 
# 2. 若根分区为 btrfs(需用专用命令)
sudo btrfs check --repair /dev/nvme0n1p5
 
# 3. 若修复后提示“需要强制检查”,加 -f 参数
sudo fsck -fvy /dev/nvme0n1p5  # -v 显示详细修复过程

3. 修复验证

若修复完成后无 “未修复错误” 提示,说明文件系统已恢复;若提示 “严重损坏无法修复”,需先备份数据(见下文注意事项)。

五、第四步:挂载原系统分区并进入 chroot 环境

通过 
chroot
 可 “切换到原系统的根目录”,相当于在 Live 环境中直接操作故障系统,后续修复引导、重建 initramfs 需此步骤。

1. 挂载根分区到临时目录(/mnt)



# 挂载根分区(替换为你的根分区)
sudo mount /dev/nvme0n1p5 /mnt

2. 挂载 EFI 分区(仅 UEFI 启动需执行)

若为 BIOS 启动,跳过此步:



# 先创建 EFI 挂载目录
sudo mkdir -p /mnt/boot/efi
 
# 挂载 EFI 分区(替换为你的 EFI 分区)
sudo mount /dev/nvme0n1p5 /mnt/boot/efi

3. 绑定系统关键目录(确保 chroot 环境正常工作)

将 Live 环境的 
/dev
(设备文件)、
/proc
(进程信息)、
/sys
(系统内核信息)绑定到原系统,否则 chroot 后无法执行命令:



sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

4. 进入 chroot 环境(关键切换)

执行后,终端提示符会变为 
root@ubuntu:/#
,表示已进入原系统的根目录:


sudo chroot /mnt

六、第五步:修复核心故障(init 进程、引导、initramfs)

在 chroot 环境中,针对 “init 进程损坏”“引导配置错误”“initramfs 失效” 三个核心问题修复。

1. 恢复 init 进程(针对 “Attempted to kill init!”)

Ubuntu 15.04+ 用 
systemd
 替代传统 init,
/sbin/init
 实际是软链接,若链接损坏或被替换(如交叉编译误操作),需重建:



# 1. 删除损坏的 init 文件(若存在)
rm -f /sbin/init
 
# 2. 重建软链接(指向系统默认的 systemd)
ln -s /lib/systemd/systemd /sbin/init
 
# 3. 验证:若显示“/sbin/init -> /lib/systemd/systemd”,说明成功
ls -l /sbin/init

2. 重建 initramfs 镜像(解决 “内核无法加载根分区”)

initramfs 损坏会导致内核启动时无法找到根分区,需重建:



# 1. 查看当前系统已安装的内核版本(选择最新或之前正常的版本)
ls /boot/vmlinuz-*  # 输出如:vmlinuz-6.8.0-52-generic
 
# 2. 重建指定内核的 initramfs(替换为你的内核版本)
update-initramfs -u -k 6.8.0-52-generic
 
# 3. 若需重建所有内核的 initramfs(推荐,避免遗漏)
update-initramfs -u -k all

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

注:ls /boot/vmlinuz-*执行结果出现两个:/boot/vmlinuz-5.14.0-1059-oem ,/boot/vmlinuz-5.15.0-71-generic

第一步:优先修复「当前正在使用的内核」(推荐)

先确认系统默认启动的内核(避免修复了未使用的内核,导致修复无效):

bash

运行



# 在chroot环境中执行,查看GRUB默认启动的内核
grep "menuentry " /boot/grub/grub.cfg | grep -Eo 'vmlinuz-[0-9.]+-[a-z0-9]+' | head -1

输出结果会显示默认内核(比如
vmlinuz-5.15.0-71-generic
),优先修复这个版本。

第二步:执行 initramfs 重建(两个内核都要执行)

无论默认是哪个,两个内核都修复一遍更稳妥,命令如下:

1. 修复 5.15.0-71-generic(通用内核,更常用)


update-initramfs -u -k 5.15.0-71-generic

2. 修复 5.14.0-1059-oem(厂商定制内核,适合硬件适配)


update-initramfs -u -k 5.14.0-1059-oem

3. 修复 GRUB 引导(解决 “无法识别系统”)

若引导配置损坏,需重新安装 GRUB 到硬盘,并更新配置:



# 1. 若为 BIOS 启动(无 EFI 分区):安装 GRUB 到硬盘(替换为你的硬盘,如 /dev/sda)
grub-install /dev/sda
 
# 2. 若为 UEFI 启动(有 EFI 分区):指定 EFI 目录安装
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
 
# 3. 更新 GRUB 配置(扫描系统内核,生成新引导菜单)
update-grub

4. 修复系统包依赖(可选,若故障因更新中断导致)

若之前有系统更新中断,可能存在包依赖损坏,执行:



# 修复未完成的包配置
dpkg --configure -a
 
# 修复依赖缺失
apt install -f
 
# (可选)更新系统包(确保内核与依赖匹配)
apt update && apt upgrade -y

七、第六步:退出 chroot 并重启测试

1. 退出 chroot 环境


exit  # 回到 Live 环境的终端

2. 卸载所有挂载点(避免数据残留)



# 先卸载 EFI 分区(UEFI 启动需执行)
sudo umount /mnt/boot/efi
 
# 再卸载根分区及绑定目录
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

3. 重启电脑

拔掉 Live CD/USB,执行 
sudo reboot
。电脑会从硬盘启动,观察是否能正常进入 Ubuntu 系统(无内核崩溃提示即修复成功)。

看到下图显示拔出U盘,按enter

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

点continue即可

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

八、一些报错:

I/O error:

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

这个报错是系统启动时尝试访问故障存储设备
/dev/sdd
导致的(错误提示 “access beyond end of device” 表示访问超出设备容量范围,说明该设备分区表损坏或硬件故障),系统因持续读取故障设备而卡住。解决核心是让系统启动时完全跳过这个故障设备
,步骤如下:

步骤 1:再次从 Ubuntu Live 盘启动

插入 Live U 盘,重启主机后按
F12
选择 U 盘启动;进入 Live 环境时,按
e
在 GRUB 中添加
nomodeset
参数(避免界面黄色模糊),再按
Ctrl+X
启动。

步骤 2:挂载原系统根分区,修改自动挂载配置

系统启动时会读取
/etc/fstab
文件自动挂载设备,需注释其中
/dev/sdd
相关的挂载项:



# 1. 挂载原系统根分区(你的根分区是/dev/nvme0n1p5)
sudo mount /dev/nvme0n1p5 /mnt
 
# 2. 编辑fstab文件(系统自动挂载配置)
sudo nano /mnt/etc/fstab


nano
编辑器中:

找到包含
/dev/sdd
(或对应 UUID)的行(比如
UUID=xxxx /media/usb ext4 defaults 0 0
);在该行开头添加
#
注释掉(示例:
# UUID=xxxx /media/usb ext4 defaults 0 0
);按
Ctrl+O
保存,
Ctrl+X
退出。

步骤 3:禁用系统对故障设备的自动扫描(可选,彻底解决)

若注释
fstab
后仍卡住,说明系统启动时会自动扫描所有存储设备,需临时屏蔽
/dev/sdd



# 1. 挂载原系统的/dev目录(用于修改设备规则)
sudo mount --bind /dev /mnt/dev
 
# 2. 进入chroot环境
sudo chroot /mnt
 
# 3. 创建udev规则,屏蔽sdd设备
echo 'SUBSYSTEM=="block", KERNEL=="sdd*", OPTIONS+="ignore_device"' > /etc/udev/rules.d/99-hide-sdd.rules
 
# 4. 退出chroot环境
exit

步骤 4:卸载挂载并重启



# 1. 卸载原系统的/dev、根分区
sudo umount /mnt/dev /mnt
 
# 2. 重启主机,拔掉Live U盘
sudo reboot

Read-only file system:

Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

1检查是否硬件问题:

第一步:先尝试再次恢复根分区读写(验证是否为硬件问题)

在当前命令行中执行:


sudo mount -o remount,rw /

若提示 “cannot remount /read-write, is write-protected”→ 磁盘硬件故障(系统强制只读保护);若成功恢复读写→ 说明文件系统仍有残留错误,需再次离线修复。

第二步:检查磁盘硬件健康状态(关键!)

若第一步失败,必须通过 Live 盘检查磁盘 SMART 状态(硬件故障是反复只读的最常见根源):

插入 Ubuntu Live U 盘,重启后按
F12
选择 U 盘启动;进入 Live 环境后,执行:

bash

运行



# 检查NVMe磁盘(/dev/nvme0n1是你的系统盘)
sudo smartctl -a /dev/nvme0n1

重点看 
SMART overall-health self-assessment test result

显示
FAILED
→ 磁盘硬件故障,必须更换 NVMe 磁盘(软件修复无法解决,更换后需重装系统);显示
PASSED
→ 继续第三步,彻底修复文件系统。

第三步:若硬件正常,执行 “坏块扫描 + 深度修复”

若磁盘 SMART 状态正常,说明根分区存在物理坏块,需执行坏块扫描(会标记坏块,避免系统使用):

bash

运行



# 卸载根分区(Live环境中)
sudo umount /dev/nvme0n1p5
 
# 扫描并标记坏块(耗时较长,耐心等待)
sudo e2fsck -fcck /dev/nvme0n1p5


-c
:扫描坏块;
-cc
:双重扫描;
-k
:保留现有坏块表;
-f
:强制检查。Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-

2文件修改:

若磁盘 SMART 状态为
PASSED
(硬件正常),反复出现 “只读文件系统” 是系统启动组件 / 挂载配置异常导致的,需通过 Live 盘修复系统启动环境:

操作步骤(在 Ubuntu Live 盘环境中执行):

挂载根分区及系统目录



# 挂载根分区(/dev/nvme0n1p5)到/mnt
sudo mount /dev/nvme0n1p5 /mnt
# 绑定系统必要目录(进入chroot的前提)
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
sudo mount --bind /run /mnt/run

进入目标系统的 chroot 环境


sudo chroot /mnt

检查并修复根分区挂载配置(/etc/fstab)确保根分区的挂载选项为 “读写模式”:



# 编辑fstab文件
nano /etc/fstab

找到根分区(对应
/dev/nvme0n1p5
)的行,确保挂载选项为
defaults
(包含
rw
,即读写),示例:Ubuntu在强制重启后出现问题,---[ end kernel panic - not syncing: Attempted to kill init! exit code=0x00000100]-


UUID=8768cdf5-73ec-4292-9aa2-83d57815f148 / ext4 defaults 0 1


Ctrl+O
保存,
Ctrl+X
退出。

修复启动镜像(initramfs)重新生成系统启动镜像,解决启动时错误挂载为只读的问题:


update-initramfs -u -k all

重装系统核心组件(修复可能的损坏)



# 重装systemd(负责系统挂载的核心组件)
apt install --reinstall systemd
# 重装ubuntu基础系统组件
apt install --reinstall ubuntu-minimal

退出 chroot 并卸载挂载



exit  # 退出chroot
sudo umount /mnt/run /mnt/proc /mnt/sys /mnt/dev /mnt

重启系统


sudo reboot
© 版权声明

相关文章

暂无评论

none
暂无评论...