我将其移至/
M.2/boot
驱动器,保留/home
在我的 SSD 上。确保 M.2 驱动器正确启动后,我启动了 LiveCD(Pop_OS,因为这是我手头上的,它或多或少是 Ubuntu),并使用 gparted 删除 SSD 上的分区,然后扩展/home
到 SSD 的整个大小。
显然,当 Pop_OS 的 LiveCD 处于非活动状态时,它不会休眠或关闭屏幕,而是会将您注销。并且它在上述过程中将我注销了。
“呼呼!”但没关系,因为我对/home
昨天同步到我的笔记本电脑的内容不太在意。所以我加载了 Arch,它崩溃了,因为 systemd 无法/home
通过 UUID 找到它。没什么大不了的,UUID 肯定变了。lsblk
不再显示我的 SSD。很奇怪。
最后回到 LiveCD。Gparted 确实显示了 LiveCD 中的 SSD。但它抛出了 I/O 错误。我尝试使用parted
来访问它,同样的 I/O 错误。我尝试使用gsmartcontrol
,它显示了驱动器,但没有关于该驱动器的数据(至少 gparted 显示了驱动器大小)。
我返回到 BIOS 并启动 SMART 磁盘实用程序,但它也看不到我的驱动器。
这东西还能恢复吗?我根本不关心数据,我只关心一个才用了不到四个月就花 300 美元买的 SSD。
答案1
经过一晚的休息,喝了一些咖啡后,我又回来解决这个问题。
首先,我进入 BIOS 并关闭连接此驱动器的 SATA 端口 3,然后重新启动,再返回 BIOS 并重新打开 SATA 端口 3,然后重新启动,现在我的 Arch 安装和 BIOS 都可以看到该驱动器。到目前为止一切顺利。
我运行了cgdisk
,sfdisk
可以看到,sdb5
但是无法访问、安装或获取有关它的任何数据。看起来cgdisk
,分区表(主分区表和备份分区表)都完全坏了。好吧,所以无法轻松恢复数据——我还是想要一个没坏的驱动器。
决定看看我是否可以强制擦除驱动器,所以......
dd if=/dev/zero of=/dev/sdb bs=4096 count=1
这将擦除驱动器,并将零写入整个磁盘。
下一步:
sgdisk -o /dev/sdb
它返回一个错误并要求我使用该标志运行-e
。照做后,它成功恢复了主分区表。
启动 gparted,删除分区表,创建了一个新表,创建了一个新分区,然后大功告成!mount /dev/sdb1 /mnt/
终于成功了。
使用 rsync 将我的笔记本电脑复制/home
到我台式机上新恢复的 SSD 中,然后我就可以恢复正常运行了!