何もないところから1つのパーティションだけでファイルシステムを作成する必要があります(/dev/zero
)。次の一連のコマンドを試しました。
dd if=/dev/zero of=mountedImage.img bs=512 count=131072
fdisk mountedImage.img
n
p
2048
131072
基本的に、ゼロで満たされた64MBの画像ファイルを作成する必要があります。次に、fdisk
を使用して、セクター2048
から残りのすべてのセクターを使用して、新しいファイルシステム用の新しいパーティションを作成します。しかし、今私は問題に直面しています。ループデバイスをセットアップし、mkfs -t vfat
を使用してフォーマットすると、パーティションテーブルが上書きされ、ファイルシステムがディスクに配置されます。 FAT32でフォーマットされたディスク全体は必要ありません。そのためにはプライマリパーティションが必要です。
全体のイメージではなく、生のディスクイメージの1つのパーティションのみをフォーマットする方法を知っている人はいますか?助けてください。
ルート権限を必要としない1つの解決策は、パーティションのサイズでファイルを作成し、そのファイルでmkfs
を呼び出してから、ファイルを所定の場所にコピーすることです。
truncate -s 64512k part1.vfat
/sbin/mkfs.vfat part1.vfat
dd if=part1.vfat of=mountedImage.img bs=1k skip=2048
または、ルート権限を使用して、デバイスとしてイメージにアクセスできる loop device を設定できます。画像の一部のみにアクセスするため、明示的に指定する必要があります。
Sudo losetup -o 2048k --sizelimit 64512k đev/loop0 mountedImage.img
Sudo mkfs.vfat /dev/loop0
Sudo losetup -d /dev/loop0
より快適なツールを使用するには、ルート権限と再起動が必要です。ループモジュールはパーティションへのアクセスを提供できますが、これはデフォルトで無効になっています。このアクセスを有効にするには、/etc/default/grub
および行を変更GRUB_CMDLINE_LINUX=""
に
GRUB_CMDLINE_LINUX="loop.max_part=15"
他のオプションが既にある場合は、もちろんそれらを残します。スペースで区切る必要があり、オプション文字列全体を二重引用符で囲む必要があります。 GRUB_CMDLINE_LINUX="option=value anotheroption loop.max_part=15"
。
ディスクイメージをパーティション分割した後、次を実行します。
Sudo losetup /dev/loop0 mountedImage.img
Sudo mkfs.vfat /dev/loop0p1
実行losetup -d /dev/loop0
その画像での作業が終了したとき。
ファイルシステムイメージファイルは、ディスク全体のバックアップであるか、仮想マシン(QEMUなど)で使用されている場合を除き、通常パーティション化されません。あなたの目的のために、画像ファイル上に直接ファイルシステムを作成したいでしょう。その後、マウントできます。
Sudo mkdosfs mountedImage.img
Sudo mount -o loop mountedImage.img /mnt
その後、このイメージをUSBフラッシュドライブなどに書き込む場合は、パーティションに書き込むことができます。
Sudo dd if=mountedImage.img of=/dev/sdc1
kpartx
Sudo apt-get install kpartx
losetup -fs my.raw
Sudo kpartx -a my.img
ls /dev/mapper
出力:
/dev/mapper/loop0
/dev/mapper/loop0p1
ここで、loop0p1
は最初のパーティションなので、次のことができます。
mkdir -p d
Sudo mount /dev/mapper/loop0p1 d
この方法の利点:リブートせずにUbuntu 14.04で動作します。
losetup 2.21 -Pオプション
losetup -P -f --show my.img
パーティションごとに1つの/dev/loopXpY
を作成します。
利点:多くのディストリビューションに事前インストールされた実行可能ファイル(util-linuxパッケージ)。
短所:ごく最近のオプションで、Ubuntu 14.04にはありません。