udev 奇妙:/dev/hda1がマウントされましたが、ファイルは存在しません。

udev 奇妙:/dev/hda1がマウントされましたが、ファイルは存在しません。

考える私の問題はudevおよび/またはudiskに関連していますが、ここで何が起こっているのかわかりません。まず、私のシステムはある程度うまく機能します。それほど重要ではないのは、Debian のインストールの一部をアップグレードした後、/dev フォルダが奇妙に動作し始めたという事実によるものです。要点を言うと、次の2つのコマンドとその出力があります。

$ ls /dev/h*
/dev/hidraw0  /dev/hidraw1  /dev/hidraw2  /dev/hpet

$ mount
/dev/hdb1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,size=5242880,mode=755,size=5242880,mode=755)
....

これでインストールされていますが、そのファイルがディレクトリにない/dev/hdb1ことを確認してください。/devどうやって?ファイルが存在しない場合は、/dev/hdb1ドライブリンクとしてどこにリストされていますか?さらに重要なことは、CDをマウントしたいということです。ドライブに挿入しましたが、/dev/scd0表示されないためエラーmount /dev/scd0 /media/cdromが発生するため、これはできませんFile not found。しかし、多くの悩みの終わりに2つの方法を見つけました。

$ mount /dev/disks/by-id/ata-HL-DT-ST_DVDRAM_GSA-4160B_K3H4A7E1256
$ udisks --mount /dev/scd0 /media/cdrom

上記の両方のコマンドが機能します。それで、私の質問は、udisks実際には存在しないデバイスファイルで何をすべきかをどうやって知ることができるかということです。そして、おそらくもっと重要なのは、mountファイルが存在しないのにファイルシステムをマウントしたと思うのはなぜですか?/dev/hdb1

最後に、これが最近のカーネルアップグレードに関連している場合:

$ uname -srv
Linux 3.1.0-1-686-pae #1 SMP Sun Dec 11 20:40:16 UTC 2011

ベストアンサー1

Udisksは独自のデバイス命名方式を使用します。一般的に従うのと同じ命名規則に従います。ウデブ(の項目を管理するプログラム/dev)ですが、これらの規則を独自に実装し、の項目に依存しません/dev

表示されたルートファイルシステムエントリは、mountルートファイルシステムが起動時にカーネルによってマウントされ、起動スクリプトが後でそれを埋めようとしますが/etc/mtab(コマンドで読み取ったファイルmount)、ルートファイルシステムが使用する正確なデバイス名がわからないため、信頼できません。カーネル(技術的には、ルートファイルシステムを含むデバイスには通常は発生しませんが、エントリはありません/dev)。あなたが見ているのは、/proc/mountsリアルタイムでカーネルを照会することです。/(システムに存在する場合も存在しない場合もあります)他のデバイス名を表示することもできます。

システムにいくつかのudev規則がありません。これらのルールはudevパッケージ、特に/lib/udev/rules.d/60-persistent-storage.rules。そして、ルールファイルが存在し、破損していないことを確認してください。udevudev

おすすめ記事