LinuxでOpenBSDハードディスクイメージをマウントする方法は?

LinuxでOpenBSDハードディスクイメージをマウントする方法は?

まず、問題がどのように発生したかを説明することから始めましょう。これは私が必要とするものを理解するのに役立ちます。

数ヶ月前、私のラップトップのハードドライブが死亡しました。迅速な交換はできませんでしたが、翌日ノートパソコンが必要だったので、私ができることは、ルータから2.5インチドライブを取り外すことでした。ルータは実際にOpenBSD 4.9を実行するATX PCです。今すぐクイックドライブが必要なので、ddデスクトップコンピュータからイメージを作成し、ドライブをラップトップに挿入し、Fedoraをインストールしました。

さて、ラップトップ用の交換用ハードドライブがあるので、ルーターに戻るハードドライブにインストールを始める前に、最初に作成したイメージをどのようにインストールするのかを考えてみましょう。 。

要点は、最新のOpenBSDを新しくインストールし、イメージの設定ファイルなどを使用できることです。今私ができる唯一のことは、イメージをディスクに書き換えることだけですdd。これはうまくいくでしょうが、システムをアップグレードする機会も欲しいです。

イメージを作成する前にOpenBSDパーティションをマウントしようとしましたが、うまくいかず時間もほとんどありませんでした(今夜は数時間しかありません)。イメージをディスクに書き戻し、マウントを試み、必要なファイルを復元してから、最新のOpenBSDをインストールする必要がありますか?

答え1

パーティションをマウントできない理由はCD画像は画像ではありません個人の分割。異なるパーティションのオフセットが必要で、ループオプションとオフセットオプションを使用してインストールするときに使用します。

あなたの場合は、画像を再生してアップグレードしますが、2.5インチをデスクトップコンピュータに接続する方法、または今すぐ接続する方法を指定していません。 USBを使用している場合、アップグレードはイメージが次のようになると想定します。内蔵SATAドライブでは、USB 2.0とSATAの速度差により再生速度が速くなる可能性がありますが、より多くの作業が必要です。アップグレード時間がかかります。画像の再生(アップグレードの有無)には同じ時間がかかります。

再生する前にズームインするには、partedを使用して画像の先頭を見つけます。parted hd.imgパーティション番号、開始および終了のリストが提供されます。ブート情報(12345など)を使用して、ディスクイメージにパーティションをマウントできます。

mount -o loop,ro,offset=12345 hd.img /mnt/tmp

デスクトップがパーティションタイプを認識しない場合は、パーティションタイプを指定する必要があります。その後、その情報を使用して新規インストールを更新し、パーティションを再マウントし、rwパーティションをクリーンアップし、内容を書き換えることができます。不明な唯一のことは、これがATXボードのブートローダを台無しにするかどうかです。ただし、ディスクに復元されたシステムをアップグレードすると同じ問題が発生します。

答え2

これは私にとって効果的です。

losetup -r -P /dev/loop1 openbsd.dsk

しかし、losetup(8)以下では:

# losetup --version
losetup from util-linux 2.22.2

そしてオプションがあります-P

   -P, --partscan
          force kernel to scan partition table on newly created loop device

パーティションの内外dmesg(1)を見ることができます/proc

# dmesg
...
[43126.359869]  loop1: p4
 p4: <openbsd: p5 p6 p7 p8 p9 p10 p11 >

# grep -e loop1 /proc/partitions
   7        1  419430400 loop1
 259        0  419424988 loop1p4
 259        1     208845 loop1p5
 259        2     265041 loop1p6
 259        3     160650 loop1p7
 259        4    1052240 loop1p8
 259        5    4192960 loop1p9
 259        6     522112 loop1p10
 259        7  413023104 loop1p11

以前のバージョンではオプションはlosetup(8)サポートされていません-P

関連情報