我有一台 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 或挽救一些数据?
德文德拉
我经常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/
,生成html
和pdf
文件使用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
. 我可以进一步处理它以隔离linux
和tmux
等,但我不知道该算法创建的目录结构。我认为这将需要使用数组来存储每个文件的完整目录结构,然后对其进行排序。
如果 shell 脚本已经存在于此,请告诉我。否则,欢迎提供有关可能算法的指针。