ISOイメージング後にgpartedでパーティションを作成することはできません。

ISOイメージング後にgpartedでパーティションを作成することはできません。

前述のとおり、64GB USBにKali Linux ISOイメージがあります。公式文書

永久パーティションも作成しました。別れたに従って公式文書

しかし今割れたパーティションなしでドライブ全体を表示します。 ここに画像の説明を入力してください。

なぜすべてのパーティションが表示されないのですか?これが予想される動作ですか?すべてのパーティションを理解して表示する方法はありますか?

ここにいるLSBLK出力: lsblk 出力

残りのスペースをすべて通常のExFATリポジトリとして使用したいと思います。正しいアプローチは何ですか?

答え1

@Abhik Boseの答えを明確にするためにここに投稿してください。

USBドライブを使用してISOをイメージングした後、ddディスクの先頭に複数のパーティションテーブルがあります。

v0.28より前のgpartedバージョンには、上記の他の問題を引き起こす修正されたISOパーティションマッピングのバグがありました。

したがって、v0.25などの古いバージョンのgparted(v0.28より前)を使用すると、この問題は解決されます。しかし、これを行うより良い方法があります。

USB を別の Linux システム(別の Kali や Ubuntu VM など)に接続し、名前を確認してください。lsblk

次に、すべてのパーティションテーブルを表示します。wipefs /dev/sdb

ここに画像の説明を入力してください。

ご覧のとおり、ドライブの先頭にはgptとdosという2つの異なるパーティションテーブル署名があります(mbrのように見えます)。

する:

wipefs -o 0x8001 /dev/sdX  # X - letter of the drive

これにより、GPTに触れずにISO署名の5バイトに外科的にゼロを書き込みます(または少なくとも機能する方法)。この投稿説明する...)

今すぐ実行してgparted /dev/sdb予想結果を確認してください。

ここに画像の説明を入力してください。

それはすべてです。

答え2

よりgpartedはFedora 27でのみUSBドライブパーティションを検出しません。開発者に説明を求めますgparted。私も同様の問題があったので尋ねました。

後で私は新しいバージョンのソフトウェアにもこの問題があることを発見しました。したがって、現在インストールされているバージョンを削除できますgparted。コンパイルされたソースコードをダウンロードしてgparted 25使用してください。私が使っているgparted 25のにお話した状況ではうまくいきます。

ノートgparted 25ルートとして実行する必要があります。端末のみ。ソフトウェアに対応するGUI編集メニューボタンから実行するには、端末で実行オプションを選択し、sudoコマンドを実行する前に追加します。

答え3

コマンドラインからgpartedを使用して永続パーティションにアクセスできますが、次のように変更することはできません。

gparted /dev/sdb3

それ以外の場合は、ファイルシステムを作成したかのようにコマンドラインからファイルシステムを変更できます。

mkfs.exfat -L myPartitionName /dev/sdb3

永続パーティションにはインストールした可能性のあるすべてのアップデートやパッケージが含まれているため、KaliのライブブートではなくライブUSBの作成に使用したディストリビューションでこれを行うのが最善です。

編集する

明らかな点

dd'ISOイメージはUSBにコピーされるため、システムはそれをISOイメージとして認識して正しく起動するために必要な署名もコピーされます。この情報が見つからないと開始されません。

興味深い点

作成時にパーティションテーブルを変更し、/dev/sdb3作成した永続FSを検出してマウントすることはできますが、特定のgparted理由でまだ単一のisoボリュームとして扱います。ここ

バグ771244の一部として、パーティションテーブルがGParted 0.28.0で変更される前にディスクファイルシステム全体を報告する動作があります。これにより、ディスク全体のISOイメージに組み込まれているとカーネルによって報告されたパーティションが表示されないため、ユーザーは不可能なISO組み込みパーティションを操作しようとしません。

答え4

これは@Abhik Boseと@Drewの答えに追加されました。

Wiefsを使用してISO9660署名を削除した後、USBを起動できなくなります。

提供されたコマンドを使用してください。Wifの取り消しに関するこの記事そしてISO9660マジックバイト [43 44 30 30 31]次のコマンドを使用してUSBの起動可能属性を復元できました。

echo -en '\x43\x44\x30\x30\x31' | sudo dd of=/dev/sdb bs=1 conv=notrunc seek=$((0x8001))
sudo partprobe /dev/sdb

これにより、拭き取り操作が効果的に反転し、USBが元の状態に戻ります。

関連情報