小编dev*_*dra的帖子

覆盖的 MBR:是否可以部分/完全恢复?

我有一台 Sony VIAO 笔记本电脑设置为双启动(Ubuntu 12.10/Windows 7)。因为想尝试 Archlinux,所以在 Ubuntu 中安装了 VirtualBox。为了创建一个可启动的 USB 记忆棒(从我硬盘上的 ISO 映像),我按照 archlinux 安装指南中的说明进行操作。但是,不小心给出了以下命令:

sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sda && sync
Run Code Online (Sandbox Code Playgroud)

注意/dev/sda而不是/dev/sdb. 所以MBR在这里被覆盖了。糟糕的错误。当时没有意识到错误,尝试在virtualbox中安装archlinux(分配了8GB的磁盘空间),无法完成进程并关机。

现在,启动后,我得到了 archlinux 安装过程的第一个屏幕。df只显示了 320 GB 硬盘中 8GB 的​​ archlinux 安装过程中所做的各种分区。

我没有对 MBR 进行任何备份。有没有办法恢复 MBR 或挽救一些数据?

德文德拉

dual-boot ubuntu arch-linux data-recovery mbr

5
推荐指数
1
解决办法
3174
查看次数

shell 脚本:将文件排序到目录和子目录中

我经常markdown在这样一个复杂的目录结构中写我的笔记。

~/doc/doc.md
~/doc/math/linearAlgebra/linearAlgebra.md
~/doc/math/linearAlgebra/numericalAnalysis.md
~/doc/linux/tmux/tmux.md
~/doc/linux/newsbeuter/newsbeuter.md
Run Code Online (Sandbox Code Playgroud)

这个目录结构不断扩展,每个目录除了文件之外还有各种其他*.md文件。我有一个递归寻找一个shell脚本markdown files的父目录doc/,生成htmlpdf文件使用pandoc。我还创建了一个doc.md文件(通过脚本),其中包含所有*.md文件的列表。目前我使用,

find ~/doc/**/*.md
Run Code Online (Sandbox Code Playgroud)

生成此列表。我想根据目录结构对它们进行排序,以便像这样阅读:

math
   linearAlgebra
                          linearAlgebra.md
                          numericalAnalysis.md
linux
   tmux
                          tmux.md
   newsbeuter
                          newsbeuter.md
Run Code Online (Sandbox Code Playgroud)

如果fp=/home/user/doc/linux/tmux/tmux.md是文件的完整路径示例,则${${fp%/*.md}#/home/user/doc/}给我linux/tmux. 我可以进一步处理它以隔离linuxtmux等,但我不知道该算法创建的目录结构。我认为这将需要使用数组来存储每个文件的完整目录结构,然后对其进行排序。

如果 shell 脚本已经存在于此,请告诉我。否则,欢迎提供有关可能算法的指针。

shell-script

4
推荐指数
1
解决办法
1008
查看次数