fat32形式のUSBスティック用のudevルールがあります。ルールには次のような属性が含まれています。
SUBSYSTEM=="block", KERNEL=="sd?1", ...
通常、これまでにテストしたUSBスティックでは非常にうまく機能します。これは、ほとんどのUSBスティックがデバイスノードで/dev/sda1
またはとして表されるため/dev/sdb1
です。
今、私はデバイスノードをとして持つ特別なUSBを持っています/dev/sda
。blkid
このUSBスティックのコマンドは、次のような出力を返します。
/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を使用した通常の再パーティションでは、このレイアウトは変更されません。
パーティションレイアウトを変更できない場合、udevルールを変更して/ dev / sdaまたは/ dev / sda1で認識されるUSBスティックを処理できるようにするにはどうすればよいですか?
ありがとう。
更新:混乱を避けるために、「マウント」という用語を「デバイスノード」に変更しました。オースティンに感謝します。
USBスティックに保持する必要のあるデータがなく、として表示される/dev/sda
場合は、rootとして次のコマンドを実行します。
wipefs -a /dev/sda
これにより、デバイスからFAT32署名(およびその他のファイルシステム署名も)が消去され、空として表示されます。その時点で、GPartedとWindowsディスクマネージャーの両方が、再フォーマットするときにパーティションテーブルを作成する必要があります。
また、用語を明確にするために、カーネルはデバイスを「マウント」せず/dev
、デバイスとの対話に使用できるデバイスノードをそこに作成します(ただし、udevを使用している場合は、代わりにデバイスノードを作成している可能性があります)カーネル)、ただし、マウントはファイルシステムを具体的に参照する操作です(より具体的には、「XをYにマウントする」とは、Xにファイルシステムが含まれていることを意味し、そのファイルシステムを場所Yで直接アクセスできるようにします。これは発生していません。デバイスノードが作成されたとき)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加