几乎每个计算机用户在打开他们的机器并看到他们的操作系统应该在哪里的错误消息时都感觉到了他们的胃。
幸运的是,无论您使用什么操作系统,都有一个实时 Linux 发行版可以作为计算机故障的急救箱。 SystemRescue 将帮助您将 PC 恢复到健康状态。
什么是系统救援?
SystemRescue 是一个实时 Linux 发行版,旨在拯救无法启动的 PC 系统。 如果您在启动时遇到问题,只需将可启动媒体粘贴到计算机中并尝试使用随附的工具来帮助修复它。
SystemRescue 基于 Arch Linux,但您不必成为 Linux 专家也可以使用它。 您根本不需要对 Linux 有太多了解。 您所要做的就是按照 SystemRescue 网站上的详细说明来修复您的系统。 这 SystemRescue 文档 可在线获得,但由于您可能无法访问网络,因此图像中包含本地副本。
下载: 系统救援 ISO
获取安装介质
与许多其他实时 Linux 发行版一样,您可以从项目的下载页面获取 ISO 映像,然后将其解压缩到您选择的安装介质中,例如 USB 驱动器。 在遇到任何计算机故障之前执行此操作是个好主意。
当您最终启动媒体时,您将面对文本控制台。 不要恐慌。 只需在提示符下键入“startx”,就会出现 XFCE 桌面。
在控制台或提示符下,您以 root 身份运行,如“#”提示符所示,所以要小心。 作为普通用户,您不会对编辑重要的系统文件进行任何常规检查,因此如果您不注意,您最终可能会破坏您的系统。
使用 SystemRescue 进行磁盘分区
您可能需要扩大或缩小机器上的任何磁盘分区。 最简单的方法是使用 SystemRescue 中包含的图形 GParted 实用程序。 您可以从 XFCE 菜单启动它。
您可以直接操作分区表来添加、增长、收缩或删除分区。
修复 GRUB 引导加载程序
有时,引导加载程序(硬盘驱动器上加载操作系统的程序)会损坏或被覆盖。 如果您在机器上升级某个主要的专有操作系统,则尤其如此。
如果您无法启动到您的机器,您可以尝试通过重新安装 GRUB 引导加载程序来修复它。 为此,您必须启动 SystemRescue 媒体并安装驱动器。
您可以使用 grub-安装 将 GRUB 引导加载程序安装到所需的驱动器。 在大多数 PC 上,主硬盘驱动器通常位于 /dev/sda.
您可以使用 lsblk 命令来识别连接到您的机器的任何磁盘。 然后安装要重新安装引导加载程序的驱动器。 然后你会使用 主chroot 将 SystemRescue 的根目录从引导媒体更改为您的硬盘。
当您“chroot”后,您现在可以运行 grub-安装 重新安装引导加载程序。 Exit 通过键入“exit”或按 Ctrl + D. 现在您可以重新启动计算机,确保删除启动媒体并查看它是否有效。 希望您能够再次启动进入 Linux。
如果您不知道您的 Linux 安装在哪个分区上,您可以使用 lsblk 命令的输出来查看系统上的分区。
在这种情况下,Linux 系统处于开启状态 /dev/sda1. 您可以使用 mkdir 创建一个目录来挂载它 -p 选项,然后安装它:
mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
现在 chroot 进入我们创建的目录:
arch-chroot /mnt/linux
现在我们可以对系统进行更改,就好像我们直接启动它一样。 看过来 /boot/grub/grub.conf 以确保它看起来正确并在必要时对其进行编辑。
如果您没有更改任何内容,那么这很可能与您安装 Linux 系统时一样。 您很可能会使用它,因为它只是为了看看它是否有效。 如果没有,您始终可以使用 mount-and-chroot 方法返回 GRUB 配置菜单并重试。
现在我们可以运行 grub-install 命令重新安装引导加载程序:
grub-install /dev/sda1
关键时刻来了。 在提示符下键入“重新启动”。 如果安装介质仍在驱动器中,请从引导菜单中选择“Boot Existing OS”,它应该会在您的硬盘驱动器或 SSD 上启动 GRUB 引导加载程序。 如果一切顺利,您应该能够正常启动。 你现在可以松一口气了! Linux 回来了!
使用 Memtest86+ 测试内存
如果您开始遇到奇怪的错误,例如 Linux 中的内核崩溃或 Windows 上的蓝屏死机,并且您最近没有进行任何更改或更新,那么您可能遇到了硬件问题。 可能是您的硬盘驱动器出现故障,或者您的 RAM 可能有问题。 您还可以使用 SystemRescue 测试后者。
要测试 RAM,请启动 SystemRescue 并在启动菜单中选择“Memtest86+”。 这将带您进入内存测试实用程序。 它将通过一系列测试来检查 RAM 芯片的完整性并报告成功或失败。
使用 SystemRescue 归档故障驱动器中的文件
如果由于驱动器出现故障而想将某些文件从驱动器中移出,则可以启动 SystemRescue 并如前所述挂载磁盘,然后挂载另一个驱动器并将文件复制到其中。
mkdir -p /mnt/harddrive
mount /dev/sda /mnt/harddrive
如果您插入了 USB 驱动器,但您不知道它是什么设备名称,您可以再次使用 lsblk 命令查看它附加到哪个设备名称。 您可以像安装任何其他驱动器一样安装它。 例如:
mkdir -p /mnt/usb
Mount /dev/sdb1 /mnt/usb
现在您可以简单地将文件从硬盘复制到外部驱动器:
cp /mnt/harddrive/files /mnt/usb
将磁盘克隆到新设备
您还可以使用 dd 命令将整个驱动器复制到外部媒体。 但首先,请确保您已经安装了两个驱动器。 然后发出以下 dd 命令。 命令的“if=”部分将是输入文件或您要复制的驱动器,而输出文件或“of=”部分将是您要复制到的驱动器。
dd if=/dev/sda of=/dev/sdb
确保您的设备名称完全符合您的要求,否则您可能会永久擦除磁盘。
使用 SystemRescue 重置密码
有时,您可能会忘记重要的密码。 或者,也许您购买了一台二手 PC,但没有密码。 幸运的是,您可以使用 SystemRescue 重置 Linux 和 Windows 密码。
在 Linux 端,如前所示 chroot 进入您的系统,然后为您要重置的帐户运行 passwd 命令。 要重置 root 密码:
passwd root
重置 Windows 密码有点复杂。 首先,您必须挂载您的 Windows 分区并运行 chntpw 实用程序,包含在 SystemRescue 中。 本地帐户的密码信息通常位于 C:WindowsSystem32configSAM.
mkdir -p /mnt/windows
mount /dev/hda1 /mnt/windows
chntpw -l /mnt/windows/Windows/System32/config/SAM
这将显示您在系统上找到的 Windows 帐户菜单。 选择您要更改的密码,然后选择菜单选项以清除密码。 这将使它完全空白。 重新启动进入 Windows,您将能够在没有密码的情况下登录并在帐户设置中选择新密码。
如果您的 Windows 帐户是 Microsoft 帐户,您必须从 微软帐户页面 相反,就像任何其他网站重置方法一样。
SystemRescue:PC 急救箱
虽然您的 Linux 发行版的安装映像通常会为您提供尝试修复损坏的系统的工具,但 SystemRescue 是一个很好的与发行版无关的工具,可以在紧急情况下使用。 它就像一个急救箱:你希望你永远不必使用它,但如果你这样做了,你会很高兴你有它。
如果您被迫成为您的朋友和家人的 IT 帮助台,您可以在他们的机器无法启动时使用 SystemRescue,但您也可以进行设置,这样他们就不需要您做一些简单的事情。