Linux

當您將系統複製到另一個沒有相同分區表的驅動器時,如何編輯系統的分區表?

  • November 17, 2020

好的,所以我使用 rsync 命令將系統複製到我的伺服器上。接下來,我將驅動器安裝到正在執行的系統上,以便我可以篡改目標系統。(為了澄清目標沒有執行)只是一個已安裝的驅動器。然後我將我的複製從伺服器同步到驅動器上的根位置。- 這是我現在啟動目標系統時的問題,如果失敗,因為它正在尋找複製系統的前分區,這些分區在該驅動器上不存在,因為它要小得多。所以我有一些問題:

  1. rhel 7中的分區表或MBR在哪裡,我可以隨意更改它以僅使用它所在的目前分區,因為新驅動器有一個分區?
  2. 它讓我進入緊急模式,我可以重建 initramfs 以便它整理分區嗎?
  3. 分區是否指向 grub 配置腳本的一部分?下面是我用來生成目標複製的命令
rsync -av -e ssh --exclude=/proc/* --exclude=/sys/* <server-ip>:/path/to/image/root/ /path/to/target/clone/root/

目標確實進入了引導,但在啟動過程中失敗了。我在 grub.cfg 文件中找到原始 –set=root 指向舊硬碟的位置。我可以只編輯這個文件來說明新驅動器,還是有辦法為新驅動器重新生成 grub.cfg?

Rsync 不適合這種案例,最好在嘗試備份DATA文件系統而不是SYSTEM本身時使用它。

您可以改用dd命令:

停止託管的應用程序和服務。

使用 dd 複製整個磁碟並壓縮它。

sudo dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > <path>/backup_image.gz

對 zip執行校驗和。

解壓備份。

使用實時 CD安裝引導您的目標系統。

使用rsyncscp傳輸 zip 和校驗和文件。

對收到的 zip 執行校驗和並比較兩個校驗和。

解壓縮並將備份驅動器複製到新驅動器:

gunzip -c <path_to_diskX>.gz | dd of=/dev/diskY

關於您的最後評論:

dd執行位對位複制。由於您的目標驅動器小於源驅動器,並且您使用的是位於第一個扇區中的**MBR 。**您必須執行其他步驟才能執行此操作。

在源驅動器上:

關閉交換空間。

僅將文件系統的大小調整為已用空間(+ 一些 Mbs)。

使用gparted或其他實用程序縮小分區(大小應為

在目標驅動器上:

使用gparted檢查分區。

在您的文件系統上執行fsck

引用自:https://unix.stackexchange.com/questions/620124