使用 dd 和 SD 卡

使用 dd 和 SD 卡

我的 Ubuntu 14.04 运行顺畅,但是当我将 IMG 安装到树莓派的 SD 卡上时,如下图所示:

dd bs=4M if=2014-06-20-wheezy-raspbian.img of=/dev/mmcblk0

我心爱的 Ubuntu 现在启动如下:

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs)

我是不是犯了一个大错误,在硬盘上的文件系统上执行了 dd 命令?有解决办法吗?

答案1

这里可能发生以下三件事之一(我不太熟悉 Raspian):

SD 卡干扰了启动顺序

有可能由于某种原因,启动过程会拾取 SD 卡上的分区/文件,导致启动失败,请尝试简单地移除 SD 卡并重新启动。我相信这应该可以解决问题,否则,您可能会遇到一些麻烦。

你烧毁了你的分区

如果上面的命令就是您实际使用的命令,那么应该不会有问题。但是,如果您输入的是 或 之类的内容of=/dev/sdX#of=/dev/sdX那么这将分别指向分区号 # 的开头或磁盘的开头。

如果你确实以某种方式设法破坏了分区,那么除了使用类似工具testdisk(这可能有效也可能无效,具体取决于所有备份超级块是否已被清除)或在最坏的情况下scalpel恢复文件之外,你真的没有太多办法来恢复数据。否则,只需重新格式化并重试。

dd可能是一个非常具有破坏性的程序。它不会警告你“嘿伙计,你真的确定要这样做吗?这可能是个坏主意”——它就这样。因此,您需要确保您输入的命令是您真正想要的命令。例如,您可以通过首先安装 SD 卡(或其上的分区),然后找到命令中列出的设备来确保 /dev/mmcblk 是正确的设备。mount但是,从您输入的命令来看,它应该可以按预期工作……

启动顺序有错误

我曾经在创建自定义 ISO 时看到过这种情况,这种情况往往发生在找不到根文件系统(或根文件系统已损坏)时。如果您有一个单独的 /home 分区,那么根分区可能仍存在问题,而 /home 分区保持不变。

正如所描述的这里,删除内核选项quietsplash并在 GRUB(引导加载程序)中附加内核选项debug。为此,请E在选择引导选项时按。编辑行后,按Ctrl+X进行引导。

这将写入 /tmp/initramfs.debug 文件。系统启动失败后,您可以使用该httpd命令允许另一台计算机通过浏览器访问文件系统,或者只需使用 LiveCD 重新启动并检查该文件即可。您可能正在寻找一行类似于“无法找到根分区”的内容。

也可能是根文件系统已损坏,需要通过文件系统检查进行修复。为此,请先从 LiveCD/USB 启动。

  1. 打开控制台
  2. 使用 找到有问题的分区gparted-pkexec。如果您的驱动器上突然出现一大块可用空间,则根分区很可能已被覆盖并且可能无法恢复。如果不是这种情况,请继续执行步骤 3。
  3. e2fsck -p /dev/sdX#(其中 /dev/sdX# 是根文件系统的设备和分区(可能是 /dev/sda4 或 /dev/sda5,但您需要通过gparted-pkexecLiveCD/USB 进行验证)

答案2

好的,这里的问题是您尝试在未安装的情况下进行刷新,请确保路径是 /mnt/ 或 /media/,这样您就能确定已正确安装。

如果我是你,我会使用 GUI 来做这种事。

相关内容