好吧,这是我要说的那些时候之一......深呼吸,不要惊慌。
发生了什么?
作为闲暇时摆弄系统的一部分,我尝试将一个 24.5 MB 的 img 文件写入 USB 驱动器以进行 BIOS 更新。正常命令如下:
dd if=bios.img of=/dev/sdX bs=1M
已经做过一百次了。没问题。
现在你知道了这当你精神疲惫时,你的命令就会变成这样:
dd if=bios.img of=/dev/sda bs=1M
于是它回答道:dd: failed to open ‘/dev/sda’: Permission denied
你毫不犹豫地这样做了:
sudo dd if=bios.img of=/dev/sda bs=1M
当终端回复如下信息时,你应该感到高兴:
23+0 records in
23+0 records out
24117248 bytes (24 MB) copied, 0.0138706 s, 1.7 GB/s
但两秒钟后,当你意识到这是你的星展银行。
目前情况如何?
系统仍在运行。似乎 Linux 正在读取的分区有一个缓存。原始分区包含efi
、swap
和/
。我现在不确定它们的原始大小和顺序。当前的分区显示只有 22.98 MiB 需要fat16
安装/boot/efi
,而我的 SSD 驱动器的其余部分尚未分配。
因此,在这种情况下,我们应该说......深呼吸,不要惊慌,不要重新启动(还没有)。
有什么帮助吗?拜托? ;-) 谢谢。
答案1
已经四天了,我接受了原始问题的评论,并借此机会做了一个全新安装系统。(这就是为什么将你的主目录放在不同的磁盘上是有益的...)
另一方面,我想我偶然(不是再次......)找到了工具,可以当时已经使用过。“可以”被突出显示,因为当然,我无法尝试这一点。对于那些可以稍后尝试这些的人(我们希望不是在您的工作系统上),也许您可以确认这些是否真的有效:
testdisk
来自universe
repo。他们的官方网站说:“它的主要目的是帮助恢复丢失分区和/或使非启动磁盘再次可启动,当这些症状是由软件故障引起的:某些类型的病毒或人为错误(例如意外删除分区表)。使用 TestDisk 进行分区表恢复确实很容易。
就这样,自动化了。
gpart
来自官方仓库。维基百科文章说,“它还擅长查找和列出类型、位置和大小无意中删除的分区,既是主要的,又是逻辑的。它给你手动重新创建它们所需的信息(使用 fdisk、cfdisk、sfdisk 等)。猜测的分区表也可以写入文件或(如果您坚信猜测的表完全正确)直接到磁盘设备“”。
出色地,学习是一件伟大的事情。 ;-)
附言
安装:sudo apt install testdisk gpart