web-dev-qa-db-ja.com

ファイルストレージ用の空のディスクイメージを作成する

Mac OS Xユーザーが空の.dmgファイルを作成してマウントし、必要に応じてファイルを追加および削除し、仮想USBドライブのようにそのイメージを好きな場所に移動する方法と同様です。

Ubuntuに相当するものはありますか? 「ディスクイメージマウンター」を使用すると、既存の.imgファイルをマウントおよび編集できることがわかりますが、空の.imgファイルを作成/フォーマットする方法も同様に簡単ですか?私がこれまでに見つけたすべてのソリューションは、既存のドライブのコピー/クローン作成を実装していますが、それは望ましくありません。

編集:以下で受け入れられた回答に基づいて、スクリプト化されたGUIアプリケーションを作成しました。これは、YADおよび.shファイルに基づいた単なるダイアログであり、ddコマンド/マウント/フォーマットプロセスをそれほどコマンドラインに精通していない人でも簡単に処理できるようにすることを目的としています。

ここにあります

6
john kieran

はい。

これは、最初からカスタムイメージを作成するための段階的なガイドです。

次のことを想定します。

  • 画像サイズは100 MiBである必要があります
  • イメージパーティションテーブルはMBRである必要があります
  • イメージには、単一のFAT32プライマリパーティションが含まれている必要があります

空白の画像を作成する

空白の画像を作成します。

dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
ubuntu@ubuntu ~/tmp % dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0415825 s, 2.5 GB/s
ubuntu@ubuntu ~/tmp % tree
.
└── image.img

0 directories, 1 file

空白のイメージをマウントする

すでにビジーなループバックデバイスをリストします。

losetup
ubuntu@ubuntu ~/tmp % losetup                   
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs

最初に利用可能なループバックデバイスにイメージをマウントします。

Sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % Sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs
/dev/loop1         0      0         0  0 /home/ubuntu/tmp/image.img

空白イメージのパーティション化/フォーマット

gpartedを実行して、ループバックデバイスを引数として渡します。

Sudo -H gparted /dev/loop1

screenshot1

[デバイス]-> [パーティションテーブルの作成...]をクリックします。

screenshot2

[適用]をクリックします。

screenshot3

[パーティション]-> [新規]をクリックします。

screenshot4

ドロップダウンメニューから[fat32]を選択します。

screenshot5

[追加]をクリックします。

screenshot6

緑色のチェックマークをクリックします。

screenshot7

[適用]をクリックします。

screenshot8

[閉じる]をクリックします。

screenshot9

そしてGpartedを閉じます。

イメージのアンマウント

最後に、ループバックデバイスからイメージをアンマウントします。

Sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % Sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  1 /cdrom/casper/filesystem.squashfs

作成したイメージは、目的に応じて使用できます。たとえば、仮想USBドライブとして使用できます。

Sudo losetup loop1 image.img

ファイルを開く:

screenshot10

screenshot11

15
kos

まず、hfsutilsパッケージをインストールする必要があります。

Sudo apt-get install hfsutils

次に、画像ファイルを作成します。サイズは固定されています。

Sudo dd if=/dev/zero of=/root/file.img bs=1M count=130

次に、画像ファイルをフォーマットします。

Sudo hformat -l File /root/file.img

その後、イメージをマウントします。

Sudo mkdir /mnt/file
Sudo mount -t hfs -o loop /root/file.img /mnt/file

ファイルを新しいマウントボリュームにコピーし、アンマウントが完了したら:

Sudo umount /mnt/file

私はこれを参照しました link 解決策を見つけます。
Ps:Ubuntu MATE 14.04.3でテストしました

0
Ghassen Rjab