从操作系统内部重新映像操作系统驱动器

从操作系统内部重新映像操作系统驱动器

我有一个远程服务器(在国家另一端),它不知怎么就坏了。我仍可以通过 ssh 访问它。是否可以在运行时覆盖操作系统分区?

过去,我曾设法使用 dd 通过 ssh 来镜像新的 SSD,但那台计算机是从 gparted usb 启动的。我在该远程服务器上可以访问的唯一操作系统是硬盘上的操作系统;没有可用的可移动媒体,也不会有可用的可移动媒体。

覆盖当前正在运行的操作系统会有什么作用?我可以将磁盘映像加载到 RAM 驱动器并在当前磁盘上运行 dd 吗?也许我可以使用 gparted 或其他工具创建第二个分区并进行双重启动。

我将要写入磁盘的图像已经启用了具有默认凭据的 ssh,因此一旦我启动新图像,我就应该能够获得访问权限。

这是我在远程位置运行的硬件。我唯一的访问权限是通过 SSH

答案1

以下是我让它工作的方法:

步骤 1:创建一个新分区。您可以使用任意数量的实用程序来执行此操作,我使用了磁盘管理因为它是可用的

步骤 2:使用启用了 SSH 并使用默认用户名和密码的实时发行版对新分区进行映像。在我的情况下,旧操作系统位于/dev/sda1新的是在/dev/sda2。新操作系统必须能够在没有任何提示的情况下从启动时接受 SSH 连接,否则您将失去与远程计算机的联系。它还必须正确配置网络。设置适当的静态 IP、子网掩码、网关等;或者使用 DHCP 并使用远程路由器查找计算机的新 IP 地址。

步骤 3:运行更新 grub将其添加到启动选项中。

步骤 4:查看文件/boot/grub/grub.cfg并找到menuentry新操作系统映像。它看起来应该像这样:menuentry "KUbuntu 16.04 amd64 desktop (live)" --class windows --class os。您需要的是引号中的标签,在本例中为:KUbuntu 16.04 amd64 destop (live)

步骤 5:打开/etc/默认/grub在任何编辑器中查找GRUB_DEFAULT=。确保它设置为GRUB_DEFAULT=saved

步骤 6:运行grub 重新启动随后在引号中输入您选择的菜单项。在这种情况下grub-reboot “KUbuntu 16.04 amd64 桌面 (live)”

步骤 7:运行sudo 重启让您的远程计算机重新启动。如果您已正确完成所有操作,则在启动后您应该能够通过 SSH 进入新系统。

步骤 8:从新操作系统覆盖原始操作系统的映像。在我的情况下,它是/dev/sda1。这还会覆盖启动分区上的 grub 设置,导致您下次启动时启动原始分区上的更新操作系统。同样,无论您在该分区上安装什么操作系统,都必须已启用 SSH、配置默认用户名和密码以及网络设置。

步骤 9:重新启动,您就应该进入新镜像的操作系统。

答案2

在运行该系统时不可能覆盖系统的安装。

您需要具有对服务器的物理访问权限或访问服务器主机提供的工具来执行您想要执行的任务。

咨询托管服务提供商、他们的文档或物理服务器的所有者,以找到完成任务的方法。

相关内容