前言
从15年初把笔记本的操作系统从windows换成Ubuntu14.04,已经有3年了,虽然只有浏览器。但是学习效果非常好,年初自动升级到了Ubuntu16.04。上个月系统启动之后无法进入桌面,因为工作忙一直放放着。今天终于修复好了。
步骤
1. 通过sudo fdisk -l 查看所有磁盘,看磁盘是否在
Disk /dev/loop0:86.9 MiB,91099136 字节,177928 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop1:140 MiB,146841600 字节,286800 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop2:3.7 MiB,3887104 字节,7592 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop3:21 MiB,22003712 字节,42976 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop4:14.5 MiB,15196160 字节,29680 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop5:12.2 MiB,12804096 字节,25008 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop6:86.6 MiB,90759168 字节,177264 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/loop7:140.9 MiB,147722240 字节,288520 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节Disk /dev/sda:59.6 GiB,64023257088 字节,125045424 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x000d8fa0设备 启动 起点 末尾 扇区 大小 Id 类型/dev/sda1 * 2048 108382207 108380160 51.7G 83 Linux/dev/sda2 108384254 125044735 16660482 8G 5 扩展/dev/sda5 108384256 125044735 16660480 8G 82 Linux swap / SolarisDisk /dev/sdb:698.7 GiB,750156374016 字节,1465149168 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘标签类型:dos磁盘标识符:0x740aaf9a设备 启动 起点 末尾 扇区 大小 Id 类型/dev/sdb1 2048 209717247 209715200 100G 83 Linux/dev/sdb2 209717248 629147647 419430400 200G 83 Linux
#####. 查看分区的文件系统 sudo parted -l。不同文件系统需要不同的修复方式
Model: ATA TOSHIBA THNSNF06 (scsi)磁盘 /dev/sda: 64.0GBSector size (logical/physical): 512B/512B分区表:msdosDisk Flags: 数字 开始: End 大小 类型 文件系统 标志 1 1049kB 55.5GB 55.5GB primary ext4 启动 2 55.5GB 64.0GB 8530MB extended 5 55.5GB 64.0GB 8530MB logical linux-swap(v1)Model: ATA WDC WD7500BPVT-2 (scsi)磁盘 /dev/sdb: 750GBSector size (logical/physical): 512B/4096B分区表:msdosDisk Flags: 数字 开始: End 大小 类型 文件系统 标志 1 1049kB 107GB 107GB primary ext4 2 107GB 322GB 215GB primary ext4
4. 执行 sudo fsck.ext4 -c /dev/sdb1 进行修复。主要看是fsck支持那些文件系统
执行失败xxxx@zzz-zzzzzz:/$ sudo fsck.ext4 -c /dev/sdb1e2fsck 1.44.1 (24-Mar-2018)fsck.ext4: 尝试读取文件系统块的操作过早结束 尝试打开 /dev/sdb1 时分区长度为零吗?
4. 使用 sudo e2fsck /dev/sdb 进行修复,会提供一定的提示。
5. 执行sudo e2fsck -b 8193 /dev/sdb1 或 sudo e2fsck -b 32768 /dev/sdb1。 但是这个明明的交互操作,我不是太理解。所以造成了我一些文件的无法修复。丢失了。
总结
- 把重要的数据,通过git同步,远程服务上去。可以写一个自动化脚本。
- 文件丢失,修复很麻烦。如果不懂修复建议使用云服务器
- 把文件,资源做好备份。