我一直在使用 Ubuntu 16.04。EOL 现在只有四个月了,我正在探索替换选项(因为 Linux 显然永远不会支持真正的升级)。我正在寻找的替代品之一是 Kubuntu 20.04;我之前使用的是 Kubuntu 14.04,然后将 DTE 切换为 16.04。
今天,我使用 Kubuntu 20.04 Live “试用 Ubuntu” 选项来完成从我的 SSD 运行时无法完成的工作:调整/home
分区大小。几周来,我一直收到“空间不足”的消息,下载与游戏更新和下载 Linux 发行版 .iso 文件(每个数 GB 或更多)有关。清空垃圾不再起作用,我在我的上方(“左侧”)有一个分区,/home
这是从 Kubuntu 16.04 的试用安装中遗留下来的。/home
150+ GB分区中大约有 2 GB 的可用空间。
在 20.04 Live 试用版中使用 KDE 分区管理器,我选择缩小旧的 Kubuntu 分区(多年未使用,甚至可能无法启动),将其移动/home
到释放的空间,然后扩展/home
以填充新释放的驱动器末端的空间。在设置分区几何结构、移动分区以及为更大空间重置几何结构的过程中,一切顺利进行了 45 分钟以上——但在“扩展文件系统”期间,我被告知“发生错误——正在中止”。现在,我的整个 150 GB/home
分区都无法访问。/home
KDE 分区管理器现在报告我应该在的地方有 160 GiB “未分配”,后面有 1.84 TiB 未分配空间(在 256 GB SSD 上),以及/home
带有挂载点的 150.36 GiB(我的旧的大小)/run
在它应该在的扩展分区之外。
我确信我的数据仍然存在——移动操作已成功完成——但我的 16.04 没有/home
. 我根本不是 CLI 专家,但sudo fsck /dev/sda9
我什至不承认它/sda9
的存在(其他分区也没问题)。这个分区和我的其他分区一样,是ext4
格式化的。目前,我唯一拥有的工具是 Kubuntu 20.04 Live 下载中包含的工具。我的 Parted Magic 旧副本位于损坏的分区中,我的笔记本电脑上没有副本。而且我不能只从备份中恢复;尽管事情应该是这样,但数百 GB 的备份既不容易也不免费。
分区中的大部分数据是游戏、游戏的 Wine 前缀、下载的文件(主要用于游戏,还有 Linux .iso 文件)——但也有大约 100,000 字的部分小说我最近没有写过,但是非常希望不要输。
我该如何修复这个?
到目前为止,我已经尝试使用fsck
-- 它根本不会承认那里有分区。KDE 分区管理器读出了我告诉你的内容——我也许可以在 20.04 Live 会话的屏幕截图中进行编辑,但我怀疑它会有所收获。我的机器上有一个正常工作的 Firefox 和与 Internet 的有线连接,但 USB 没有设置为持久,所以我安装的任何东西都将在下次重新启动时消失。USB 记忆棒上有 1.43 GiB 的“可写”分区,但它没有用于持久性,我不知道如何设置它。
$ sudo blkid
/dev/sda1: LABEL="Boot" UUID="5244bd6b-56d2-4966-bc64-b5d145e681ec" TYPE="ext4" PARTUUID="000e3de9-01"
/dev/sda5: LABEL="Kubuntu64" UUID="b401b3f9-9dc6-4c3d-80fe-aabaf5f327cc" TYPE="ext4" PARTUUID="000e3de9-05"
/dev/sda6: LABEL="Dropbox" UUID="9ddd5013-36af-4d63-a492-710a4069af68" TYPE="ext4" PARTUUID="000e3de9-06"
/dev/sda7: UUID="8cd256cb-e942-425b-acce-e189f0bcf4c9" TYPE="ext4" PARTUUID="000e3de9-07"
/dev/sda8: LABEL="Kubuntu64 16.04" UUID="42b5719f-9dc4-4f92-88d2-c1ec48f25395" TYPE="ext4" PARTUUID="000e3de9-08"
/dev/sdb1: LABEL="Seagate 1T-C" UUID="5E5C65065C64D9F3" TYPE="ntfs" PARTUUID="8623c7fc-01"
/dev/sdb5: LABEL="Seagate 1T-D" UUID="88CCAB91CCAB77D8" TYPE="ntfs" PARTUUID="8623c7fc-05"
/dev/sdb6: LABEL="Seagate 1T-E" UUID="3680C08C80C05451" TYPE="ntfs" PARTUUID="8623c7fc-06"
/dev/sdb7: LABEL="Seagate 1T-F" UUID="E6ACC7B2ACC77B95" TYPE="ntfs" PARTUUID="8623c7fc-07"
/dev/sdb8: LABEL="Seagate 1T-G" UUID="48CCD912CCD8FB60" TYPE="ntfs" PARTUUID="8623c7fc-08"
/dev/sdb9: LABEL="Seagate 1T-H" UUID="CA58E44A58E436BB" TYPE="ntfs" PARTUUID="8623c7fc-09"
/dev/sdc1: UUID="2020-07-31-16-50-07-00" LABEL="Kubuntu 20.04.1 LTS amd64" TYPE="iso9660" PTUUID="7341469f" PTTYPE="dos" PARTUUID="7341469f-01"
/dev/loop0: TYPE="squashfs"
/dev/sda2: UUID="a7bf4f9c-f525-4646-87dd-f897cec03c66" TYPE="swap" PARTUUID="000e3de9-02"
/dev/sdc2: SEC_TYPE="msdos" UUID="C26E-047E" TYPE="vfat" PARTUUID="7341469f-02"
/dev/sdc3: LABEL="writable" UUID="e3579a86-3ecb-4ef0-a21d-983e5b417714" TYPE="ext4" PARTUUID="7341469f-03"
/home
应该是/dev/sda9
——我不记得它是否被标记为“家” 。
这是导出的分区表——我害怕在没有指导的情况下编辑它,但显然 KDE 分区管理器可以导出和导入它,所以这是可能的。如前所述,/home
应该在/sda9
.
##|v1|## partition table of /dev/sda
# on Friday, 25 December 2020 22:16:46 UTC
type: "msdos"
align: "sector"
# number start end type roles label flags
1;63;208844;ext4;primary;"Boot";"boot"
2;208845;16996769;linuxswap;primary;"";""
3;16996831;500103449;extended;extended;"";""
5;16996833;79907309;ext4;logical;"Kubuntu64";""
6;79907373;100888199;ext4;logical;"Dropbox";""
7;100888263;142833914;ext4;logical;"";""
8;142833978;164562943;ext4;logical;"Kubuntu64_16.04";""
9;4459532288;4774856044;unknown;primary;"";""
我认为它应该是这样的:
##|v1|## partition table of /dev/sda
# on Friday, 25 December 2020 22:16:46 UTC
type: "msdos"
align: "sector"
# number start end type roles label flags
1;63;208844;ext4;primary;"Boot";"boot"
2;208845;16996769;linuxswap;primary;"";""
3;16996831;500103449;extended;extended;"";""
5;16996833;79907309;ext4;logical;"Kubuntu64";""
6;79907373;100888199;ext4;logical;"Dropbox";""
7;100888263;142833914;ext4;logical;"";""
8;142833978;164562943;ext4;logical;"Kubuntu64_16.04";""
9;164562944;500321424;ext4;logical;"/home";""
但是,虽然其他设备可以选择在 KDE 分区管理器中导入分区表,但此 SSD 的该选项是灰色的(“导出分区表”可用,但“导入分区表”不可用)。
我有一台运行 Unbuntu 16.04 的笔记本电脑,以及一个外部磁盘测试设备,如果需要,我可以使用它来访问台式机外部的 SSD——所以如果它比 20.04 更容易/更好,我可以使用完全安装的 16.04 进行修复工作现场会议。我还有两天的周末(我应该把这段时间花在我的暗房里,但这是一种紧急情况),还有一个四天的周末周末。
您可以尝试使用分区恢复工具来重置分区。Testdisk 经常被用来和parted 救援。Testdisk 会找到您拥有的所有旧版本的分区,因此如果更改很多,可能很难整理出正确的一组或分区来恢复。你只有一个分区,所以应该更容易一些。有些人还使用parted rescue,你必须给它一个分区的大致开始和结束。
http://www.cgsecurity.org/wiki/TestDisk
https://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
https://www.gnu.org/software/parted/manual/html_node/rescue.html
通常在修复后您需要文件系统检查。如果是 ext4 格式,则运行 fsck 或 e2fsck。e2fsck 的示例命令:
手动硬启动后 Ubuntu 14.04 无法正常启动
另请参阅 testdisk 和 parted 救援:
双启动时“升级”到 Windows 10,但无法启动到 Ubuntu 分区
https://help.ubuntu.com/community/DataRecovery#Lost_Partition