ubuntu硬盘修复

前几天最担心的事情发生了,公司里自己的代码编译服务器进不去系统了,当时就想到了里面还有一个新功能的代码没有上传,悲剧了。之前有同事的电脑发生过类似的事情,但是由于里面没有重要的东西,就直接格式化硬盘重装系统。但是这次有些东西还没上传,所以不敢直接格式化重装系统。

先用U盘制作了一个ubuntu安装盘,点试用ubuntu进系统,想在系统里面挂载硬盘,把里面要的东西拷贝出来,结果一挂载就报错,没成功。

在度娘输入“ubuntu修复硬盘”,好像有点眉目,看到有命令fsck -y /dev/sda2这个命令,想着死马当活马医,在刚才试用的那个系统里面输入sudo fsck -y /dev/sda2,看到系统在运行这个命令了,等了半个小时去看了下,显示已经完成了。重启了一下,果然好了!哈哈

sudo fsck -y /dev/sda2

### Ubuntu Initramfs 硬盘修复方法 当Ubuntu系统因某些原因未能正常启动而进入`initramfs`模式时,通常是因为文件系统损坏、引导配置丢失或其他磁盘问题引起的。以下是针对此类问题的详细解决方案。 #### 方法一:使用 `fsck` 工具修复文件系统 `fsck` 是 Linux 下常用的工具,用于检查和修复文件系统的错误。如果硬盘上的文件系统出现问题,可以按照以下方式操作: 1. **确认根分区设备名称** 进入 `initramfs` 后,运行以下命令列出可用的设备: ```bash ls /dev/sd* ``` 如果使用的是 LVM(逻辑卷管理),则需要先激活 LVM 卷组: ```bash vgchange -ay ``` 2. **执行文件系统检查与修复** 假设根分区位于 `/dev/mapper/ubuntu--vg-ubuntu--lv` 上,则运行以下命令进行修复[^3]: ```bash fsck -t ext4 /dev/mapper/ubuntu--vg-ubuntu--lv ``` 若提示输入 `y/n`,请选择 `y` 继续修复过程。 3. **退出并重新启动系统** 文件系统修复完成后,输入以下命令退出 `initramfs` 并尝试重启系统: ```bash exit reboot ``` --- #### 方法二:通过 Live CD/USB 修复 如果在 `initramfs` 中无法定位到正确的设备或修复失败,可以通过Live环境进一步排查问题。 1. **制作 Ubuntu Live USB 镜像** 使用 Rufus 或 Etcher 将最新的 Ubuntu ISO 刻录至 U 盘,并将其设置为优先启动项。 2. **挂载现有系统分区** 在 Live 系统中打开终端,查找当前安装的 Ubuntu 分区位置: ```bash sudo fdisk -l ``` 假设目标分区为 `/dev/sda1`,则挂载该分区: ```bash sudo mount /dev/sda1 /mnt sudo chroot /mnt ``` 3. **修复 GRUB 引导程序** 安装或重新配置 GRUB 引导加载器以恢复正常的启动流程: ```bash grub-install /dev/sda update-grub ``` 4. **验证修复效果** 输入以下命令退出 Chroot 环境并重启计算机: ```bash exit sudo umount /mnt reboot ``` --- #### 方法三:处理双系统冲突引发的问题 对于 Win10 和 Ubuntu 的双系统场景,Windows 自动更新可能导致 MBR 被覆盖,从而影响 Ubuntu 正常启动[^2]。 1. **禁用 Windows 快速启动功能** 在 Windows 设置中关闭快速启动选项,防止其干扰 Linux 分区的状态。 2. **调整 BIOS 启动顺序** 确保首选启动设备指向 Ubuntu 所使用的硬盘。 3. **重建 GRUB 引导菜单** 如前述方法所示,在 Live 环境下重新安装 GRUB。 --- #### 注意事项 - 在执行任何磁盘修复之前,请确保已备份重要数据以防意外损失。 - 对于复杂情况(如加密分区或 RAID 配置),建议查阅官方文档或寻求专业技术支持。 ```python # 示例 Python 脚本:检测硬盘健康状态 import os def check_disk_health(disk_path="/dev/sda"): result = os.system(f"smartctl -H {disk_path}") if result == 0: print("Disk is healthy.") else: print("Disk may have issues.") check_disk_health() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值