fat32形式のUSBスティックのudevルールがあります。ルールには次の属性が含まれています。
SUBSYSTEM=="block", KERNEL=="sd?1", ...
通常、これまでテストしたUSBスティックではうまく機能します。なぜなら、ほとんどのUSBスティックはデバイスノードで/dev/sda1
またはマークされているからです/dev/sdb1
。
これで、デバイスノードを持つ特定のUSBがあります/dev/sda
。そのUSBスティックのコマンドは、blkid
次の出力を返します。
/dev/sda: UUID="AC9E-6C58" TYPE="vfat"
一般( )に比べてこの属性が懐かしく/dev/sda1
なりました。PARTUUID
また、このコマンドはsfdisk -l /dev/sda
次の出力を返します。
Disk /dev/sda: 1021 cylinders, 247 heads, 62 sectors/track
Units: cylinders of 7840768 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0 - 0 0 0 Empty
/dev/sda2 0 - 0 0 0 Empty
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
対応するUSBライン/dev/sda1
には0があります。ただし、通常のUSBフラッシュドライブには次の項目があります。
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 2703- 2704- 7835620 b W95 FAT32
start: (c,h,s) expected (0,1,11) found (0,0,57)
end: (c,h,s) expected (1023,125,46) found (975,125,46)
/dev/sda2 0 - 0 0 0 Empty
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
ベース議論するこれは、USBフラッシュドライブにパーティションテーブルがないことを意味します。
udevルールを変更したくない場合は、このUSBドライブをどのように変更しますか? WindowsツールまたはGpartedを使用した一般的な再パーティション化は、このレイアウトを変更しません。
パーティションレイアウトを変更できない場合は、/dev/sdaまたは/dev/sda1で認識されるUSBスティックを処理できるようにudevルールをどのように変更しますか?
ありがとうございます。
更新:混乱を避けるために、「インストール」という用語を「デバイスノード」に変更しました。ありがとう、オースティン。
答え1
USBスティックに保存する必要があるデータがありませんが、データが表示された場合は、rootとして/dev/sda
次のコマンドを実行してください。
wipefs -a /dev/sda
これにより、デバイスからFAT32署名(および他のファイルシステム署名)が削除され、デバイスが空のように見えます。この時点でデバイスを再フォーマットするときに、GPartedとWindowsディスクマネージャの両方がパーティションテーブルを作成する必要があります。
また、用語を明確にするために、カーネルはデバイスをデバイスに「マウント」せずにデバイスと対話するために/dev
使用できるデバイスノードを作成します(udevがある場合はカーネルの代わりにデバイスノードを作成できます)。 )、しかし、マウントは、デバイスノードが作成されたときのファイルシステムの操作(より具体的には「マウント」)を意味します。
答え2
Windowsのもう1つの解決策は、次のものを使用することですdiskpart
。
- USBメモリースティックの取り外し
- Windowsターミナルを起動するか、
cmd
Windowsスタートアップ検索フィールドに入力してください。 - 新しいDiskPartウィンドウに入力し、
diskpart
現在list disk
のデバイスを表示するには入力します。 - Uディスクを接続して再度実行して、
list disk
Uディスクの正しいディスク番号を確認してください。 - タイプ
select disk=<number>
。<number>
リセットしたいUSBスティックのディスク番号に置き換えます。 - 実行し
clean
、convert mbr
USBドライブに新しいパーティションテーブルを作成します。 create partition primary
コマンドを実行して新しいデフォルトパーティションを作成します。