1

При загрузке машины с USB-накопителя,

sudo fdisk -l

выводит вам два устройства, отмеченные звездочкой, и вы никогда не узнаете, какое устройство было загружено.

Мне нужен список всех дисков, подключенных к текущей машине, где

sed -ne 's/.*\([sh]d[a-zA-Z]\+$\)/\/dev\/\1/p' /proc/partitions 

хороший способ, это выводит

/dev/sda
/dev/sdb

Это дает мне подсказку, какое именно загрузочное устройство, которое необходимо для загрузки с одного и безопасного удаления другого - автоматически (вставьте, загрузитесь, дайте запустить…), как я это делаю на связке компьютеров, убедившись, что на жестких дисках компьютера клиента не осталось данных.

awk '$2 == "/"' /proc/self/mounts 

Это дает вам UUID-номер - но как найти /dev/sd? принадлежность к нему?

(Подсказка об "использовании UUID" бесполезна - я не хочу перенастраивать систему, я хочу ее почистить. Конечно, я могу назначать новые UUID при этом, это стоит секунды, но это определенно не цель, и все же не хватает того факта, что я не знаю, какое устройство /dev/sd? дать новый.)

dban сделал работу, но не будет свободен для использования в будущем.

1 ответ1

1

Вы почти имеете это с вашим призывом к awk . Несколько небольших настроек должно быть достаточно.

awk '$1 ~ /^\/dev\// && $2 == "/" { print $1 }' /proc/self/mounts

Часть $1 ~ /^\/dev\// требует, чтобы любая удовлетворяющая строка назвала устройство где-то в /dev. Теперь все, что нам нужно, - это преобразование UUID-имени устройства в имя, назначенное ядром, что легко, поскольку все перечисленные имена будут либо непосредственно называться этим именем, либо символической ссылкой (в конечном счете), указывающей на это имя, так что мы можем просто почувствовать им ls -l вроде так:

ls -l $(awk '$1 ~ /^\/dev\// && $2 == "/" { print $1 }' /proc/self/mounts)

Это должно дать вам единственную строку вывода, которая сообщит вам, с какого физического устройства в настоящее время монтируется корневая файловая система. Это не будет надежно, поэтому я бы не стал автоматизировать что-либо потенциально разрушительное, основываясь только на этом, но для человека, которому нужна помощь в определении устройства, на которое можно указать, этого должно быть достаточно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .