💻 Debian 系统分区和启动修复操作笔记
本次操作的目的是将硬盘上的未分配空间合并到 /dev/sda2 主分区,并修复因分区变动导致的启动慢(UUID 引用失败)问题。
阶段一:扩展主分区和重建 Swap 分区
环境: 必须通过 Debian 安装 DVD 引导进入 “急救模式” (Rescue Mode) 的 Shell 命令行。
| 序号 | 操作目的 | 命令行操作 (在 (parted) 提示符下) | 关键说明 |
|---|---|---|---|
| 1. 准备 | 进入 parted 工具 | parted /dev/sda | 确认磁盘为 /dev/sda。 |
| 2. 移除障碍 | 删除旧的 Swap 分区 (/dev/sda3) | rm 3 | Swap 分区阻挡了 /dev/sda2 的扩展,需要先删除。 |
| 3. 缩小主分区 | 为新的 Swap 预留空间 (约 1GB) | resizepart 2 122G | 将 /dev/sda2 的末尾从 123G 缩小到 122G,释放出 1GB 空间。 |
| 4. 创建新 Swap | 利用释放的空间重建 Swap 分区 | mkpart primary 122G 123G | 在预留的 1GB 空间内创建新的分区(通常编号为 3)。 |
| 5. 标记 Swap | 设置新分区类型为 Swap | set 3 swap on | 确保新分区被系统识别为交换分区。 |
| 6. 退出 | 保存更改并退出 parted | quit | 此时,分区结构已在硬盘上写入。 |
| 7. 扩展文件系统 | 让文件系统使用分区新边界 | resize2fs /dev/sda2 | 在 Shell 提示符下执行。将 /dev/sda2 上的 ext4 文件系统扩展到其新的分区大小。 |
| 8. 格式化 Swap | 格式化新的分区 3 为 Swap | mkswap /dev/sda3 | 在 Shell 提示符下执行。赋予新分区 Swap 文件系统的 UUID。 |
阶段二:修复启动超时(UUID 错误)
环境: 必须通过 Debian 安装 DVD 引导进入 “急救模式” (Rescue Mode),并选择在 /dev/sda2 上运行 shell,将根目录挂载到 /。
| 序号 | 操作目的 | 命令行操作 (在 root@...(none):/# 提示符下) | 关键说明 |
|---|---|---|---|
| 1. 获取新 UUID | 查找新 Swap 分区的 UUID | blkid /dev/sda3 | 获取到的新 UUID 为:fac67a41-cf4d-4993-a91e-ccd7901057a4。 |
| 2. 编辑配置文件 | 打开系统启动配置文件 | nano /etc/fstab | 根分区已挂载在 /,所以直接编辑 /etc/fstab。 |
| 3. 替换 UUID | 替换旧 Swap 分区的 UUID | 将文件中 UUID=旧的UUID 那一行替换为: UUID=fac67a41-cf4d-4993-a91e-ccd7901057a4 none swap sw 0 0 | 这是修复启动延迟的关键步骤。 旧 UUID 不存在,导致系统等待 90 秒超时。 |
| 4. 保存退出 | 保存 fstab 文件 | Ctrl+O, Enter, Ctrl+X | |
| 5. 重启系统 | 退出 Shell 并正常启动 | exit,然后选择 “结束急救模式” 或 “重启” | 重启时务必移除 DVD。 |