GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu - r/w パーミッションでイメージ ファイルをマウントする

現在のユーザー ディレクトリに操作への読み取りおよび書き込みアクセス権があることを確認する必要があります

sudo mkdir -p /tmp/test && sudo mount -o loop,rw,sync image.img /tmp/test

ここでの回答に基づく完全なプロセスは次のとおりです:

.img ファイルはパーティションのイメージではなく、ディスク全体のイメージです。つまり、ブートローダーとパーティション テーブルから始まります。パーティションのオフセットを検出し、具体的にマウントする必要があります。悲しいことに、それを自動化する Linux ツールを見つけることができませんでした。だから、数学をしなければなりませんが、それは簡単です。プロセスは次のとおりです。

fdisk -l raspberry_pi.img

以下の出力が得られます。バイト単位のセクター サイズ (この場合は 512。以下の 2 行目を参照) とパーティションの開始セクター (Linux パーティションの場合は 94208。以下の最後の行を参照) に注意してください。

Disk raspberry_pi.img: 7.3 GiB, 7826571264 bytes, 15286272 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbeb1a7ff

Device          Boot Start      End  Sectors  Size Id Type
raspberry_pi.img1       8192    93813    85622 41.8M  c W95 FAT32 (LBA)
raspberry_pi.img2      94208 15069183 14974976  7.1G 83 Linux

ここで、手動で開始セクター * セクター サイズを掛けて、mount のオフセット バイトを取得します。 コマンドが必要です。この場合、94208 * 512 =48234496

sudo mkdir /media/sdcard
sudo mount -o loop,rw,sync,offset=48234496 printer_v5.img /media/sdcard

これで、イメージの Linux パーティションが /media/sdcard にマウントされ、root ユーザーがそのファイルを編集できるようになります。

最後に、終了したら:

sudo umount /media/sdcard

問題は、イメージに複数のパーティションがあることです。普通の古いマウントは、オフセット 0 でファイルシステム情報を探します。これは、あなたの場合、明らかにいくつかの BIOS ブート情報を指していますが、目的の ext4 fs を指していません。目的のパーティションへのオフセットを指定して loopback-device を作成すると、成功するはずです。

このリンクが役に立ちます。


Linux
  1. 書き込み権限を持つ非rootユーザーとしてUSBスティックをマウントする方法

  2. Linuxでドライブをマウントするさまざまな方法?

  3. Btrfs ファイル システムを作成してマウントする方法 (例で説明)

  1. Ubuntu create-react-app が許可が拒否されて失敗する

  2. MDF イメージをマウントする方法、iso9660 は機能しませんか?

  3. Linuxでゼロバイトのファイルを作成するという概念は何ですか?

  1. Linuxでfdiskを使用してパーティションを管理する

  2. autofsを使用してNFSファイルシステムをマウントする

  3. Smb 2.0以降とのSamba共有でUnixファイルのアクセス許可を有効にする方法は?