Nautilusから取り外した後にUSBスティックを取り外さずに再インストールするにはどうすればよいですか?

Nautilusから取り外した後にUSBスティックを取り外さずに再インストールするにはどうすればよいですか?

USBスティックを再インストールするには、物理​​的に切断して再接続する必要があることがわかりました。そんな激しい身体活動なしでどうやってこれを行うことができますか?

ベストアンサー1

私のUbuntu Lucidシステムの動作は次のとおりです。

2つのパーティションを持つUSBフラッシュ/サムドライブを挿入すると、システムは次のことを報告します。

$ ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2

$ udisks --show-info /dev/sdb | grep -A2 'partition table\|by-id'
    by-id:                     /dev/disk/by-id/usb-takeMS_USB_Mini_AA07013000010057-0:0
    by-path:                   /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0
  detected at:                 Mon 29 Apr 2013 02:16:50 PM CEST
--
  partition table:
    scheme:                    mbr
    count:                     2

$ udisks --show-info /dev/sdb1 | grep -A2 'partition table\|by-id'
    by-id:                     /dev/disk/by-id/usb-takeMS_USB_Mini_AA07013000010057-0:0-part1
    by-id:                     /dev/disk/by-uuid/581E-EE0B
    by-path:                   /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0-part1
  detected at:                 Mon 29 Apr 2013 04:24:25 PM CEST

$ udisks --show-info /dev/sdb2 | grep -A2 'partition table\|by-id'
    by-id:                     /dev/disk/by-id/usb-takeMS_USB_Mini_AA07013000010057-0:0-part2
    by-id:                     /dev/disk/by-uuid/4A0E-A166
    by-path:                   /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0-part2
  detected at:                 Mon 29 Apr 2013 04:24:25 PM CEST

$ udevadm info --query=all --name=/dev/sdb | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host13/target13:0:0/13:0:0:0/block/sdb    
$ udevadm info --query=all --name=/dev/sdb1 | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host13/target13:0:0/13:0:0:0/block/sdb/sdb1
$ udevadm info --query=all --name=/dev/sdb2 | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host13/target13:0:0/13:0:0:0/block/sdb/sdb2
$ sudo partprobe /dev/sdb
$

したがって、パーティションにのみ対応するエントリがあり、/dev/disk/by-uuidディスクとパーティションの両方に対応するエントリがあります(異なる)/dev/disk/by-id

Lucidで、Gnome2デスクトップのディスクマウントアプレットのパーティションエントリを右クリックすると、「開く」または「取り出し」という2つのエントリのみが表示されます。[解決済み] LynxでNautilusを使用してUSBドライブを再インストールする方法は?から@ドマ'に対する答えは次のとおりです。16_hide_unmount.patch)。また、palimpsestこれにはディスクの2つのパーティションが表示されます。

両方のパーティションのいずれかで「取り出し」をクリックすると、この時点でpalimpsestディスクがすべて消えてパーティションが表示されず、「メディアが見つかりません」というメッセージも表示されます。

$ ls /dev/sdb*
/dev/sdb

$ udisks --show-info /dev/sdb | grep -A2 'partition table\|by-id'
    by-id:                     /dev/disk/by-id/usb-takeMS_USB_Mini_AA07013000010057-0:0
    by-path:                   /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0
  detected at:                 Mon 29 Apr 2013 02:16:50 PM CEST

$ udisks --show-info /dev/sdb1 | grep -A2 'partition table\|by-id'
$

$ udevadm info --query=all --name=/dev/sdb | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host13/target13:0:0/13:0:0:0/block/sdb
$ udevadm info --query=all --name=/dev/sdb1 | grep DEVPATH
device node not found

$ sudo partprobe /dev/sdb
Error: Error opening /dev/sdb: No medium found

だからコメントでも言及したように@ウルトラソブレード、実際にディスクがありますが、パーティションが分割されていません。しかし、パーティションを分割する必要があるようです。デバイスとして、のためのmount

また、デスクトップGUIの左クリック+「取り出し」と同じ動作を使用することもできますsudo eject /dev/sdb。を開き、palimpsestそこで2つのパーティションをそれぞれクリックし、[ボリュームのマウント解除]をクリックします。パーティションアイコンが表示されますまだディスクマウントアプレットに表示されますが、マウントされていないとマークされます。これにより、sudo udisks --detach /dev/sdbディスクマウンタアプレットからアイコンが消え、デバイスが/dev/sdbシステムに表示されなくなります(lsusbまだ表示されます)。デバイス)!

回答をかなり検索した後(udevadm monitor --environment接続と分離中にすべてのタスクをコピーし、ioctlが実行したタスクをudevadm trigger調べてBLKRRPART)、成功しなかったので、ついにこれを見つけました。USBスティックを取り外して再挿入せずに再インストールする方法 - Ubuntu / Debian、ここには答えが含まれています。

sudo eject -t /dev/sdb

このコマンドを実行した後 - 両方のパーティションがディスクマウントアプレットに再表示されます。 USBフラッシュドライブを取り外して再度挿入する必要はありません!次のように読めばおかしいですman eject

   -t   With  this  option the drive is given a CD-ROM tray close command.
        Not all devices support this command.

...USBフラッシュ/親指ドライブでも動作するとは想像もできません! (私も調査してみましたが、システムユーティリティ/eject.c、私は何も見えません:)

もちろん、sudo udisks --detach /dev/sdb以前に実行したことがある場合は存在し/dev/sdbないため、eject -t /dev/sdb失敗してマークされますeject: unable to find or open device for: '/dev/sdb'。この場合、USB電源サイクルはで説明したものと同じです。#7457論理的に切断されたUSBデバイスをどのように再接続しますか?回復するのに役立ちます。

$ sudo sh -c 'echo suspend > /sys/bus/usb/devices/1-2/power/level'
$ sudo sh -c 'echo auto > /sys/bus/usb/devices/1-2/power/level'

これにより、パーティションアイコンがディスクマウンタアプレットに再び表示されます。正しいアドレスを見つけるには、次のようにします。

$ udevadm info --attribute-walk --name=/dev/sdb | grep "looking\|busnum\|devnum" | grep -B1 'busnum\|devnum'
  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-2':
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="13"
  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1':
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"

# the first (.../usb1/1-2) should be the right one, check bus/devnum:
$ lsusb -s 1:13
Bus 001 Device 013: ID 090c:1000 Feiya Technology Corp. Flash Drive

# looks good; check for symlinks in `sys/bus/usb/devices` as per "parent device" .../usb1/1-2
$ ls -la /sys/bus/usb/devices/ | grep "usb1/1-2"
lrwxrwxrwx 1 root root 0 2013-04-29 17:17 1-2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb1/1-2
lrwxrwxrwx 1 root root 0 2013-04-29 17:21 1-2:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0

# so it should be /sys/bus/usb/devices/1-2; check if it has power/level:
$ ls /sys/bus/usb/devices/1-2/power/level 
/sys/bus/usb/devices/1-2/power/level

おすすめ記事