%20VM%20%E3%82%92%20Virtual%20Box%20VM%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B.png)
最近、Vultr VPS の DD イメージを自宅のコンピューターに転送しました。Debian VirtualBox VM を使用して新しい仮想ディスクを作成し、DD イメージをマウントし、DD イメージから新しい仮想ディスクにすべてのファイルを rsync しました。/etc/fstab
ルート ファイル システムの新しい UUID で編集し、/etc/networking/interfaces
仮想ディスクの新しいインターフェイスで編集しました。その後、この VM から切り離しました。
まったく新しい VirtualBox VM を作成し、この新しく作成した仮想ディスクを接続して、起動できると想定しました。起動しません。黒い画面に点滅するカーソルが表示されるだけです。他には何も起こりません。/boot
動作中の Debian VirtualBox VM から rsync を実行しました。それでも点滅するカーソルだけが表示されます。
私が見逃している明らかな点はありますか? 何かご意見はありますか? ご意見をありがとうございます。
答え1
がある。
ブート プロセスでファイル システムの概念が存在する前に、ファイル システムを理解できるコードを読み込む必要があります。これはブートローダーと呼ばれ、通常はディスクの最初の数セクターまたは特別な UEFI パーティション上の特別なフォルダーに配置されます。
あなたの場合、おそらく GRUB であり、新しいイメージにインストールする必要があります (繰り返しますが、ルート ファイル システムの外部に)。
リカバリ モードでライブ Linux システムから起動し、仮想ディスクに Grub を (再) インストールします。
答え2
@Eugen Rieck さんの回答のおかげで、動作するようになりました!
また、https://unix.stackexchange.com/questions/191218/how-to-install-grub-on-a-new-driveそして grub.cfg 内の間違った UUID を修正するにはどうすればよいですか?
ソリューション:
- GParted Live を起動し、ターミナル セッションを実行しました。
sudo mount /dev/sda1 /mnt
sudo /mnt/usr/sbin/grub-install /dev/sda --skip-fs-probe --boot-directory=/mnt/boot
sudo sed -i 's/OLD-UUID/NEW-UUID/g' /mnt/boot/grub/grub.cfg
(古い UUID は grub.cfg ファイルから取得しました。この UUID は複数回リストされているため、グローバルに に置き換えられていますsed
。新しい UUID は から取得されますblkid
。)