Почему /dev/sd** нельзя получить без монтирования?

Нельзя, вообще.

Выходные данные strace показывают, какие сигналы обрабатываются, но каждое приложение решает, как они (или не )производят отладочный вывод. Может быть, они делают это при получении SIGHUP, может быть, при SIGUSR1, или, может быть, с флагом запуска -D, а может быть, и нет.

0
20.08.2019, 20:01
3 ответа

/dev/sd *доступен без монтирования. Действительно, раньше я успешно записывал файл непосредственно в /dev/sdb, но то, что я записывал, было необработанным USB-диском. Файл, который я написал, был образом установочного диска Ubuntu, когда я затем использовал загрузочную флешку для установки Ubuntu на новый компьютер. Вы можете писать в /dev/sda, как если бы это был файл, но он записывается на диск в необработанном виде. Если вы попытаетесь записать второй файл, он будет записан поверх первого файла, и, если это не что-то вроде образа диска, большинство других компьютеров/программ не будут знать, что с ним делать.

Монтирование делает попытку добавить драйвер файловой системы в -между необработанным диском и вашей файловой системой. Частью процесса монтирования является выбор правильной файловой системы, FAT32, Ext4, NTFS и т. д. и инициализация этого драйвера для понимания содержимого монтируемого диска. Теперь он интерпретирует диск как структурированную файловую систему с папками, файлами и метаданными об этих папках/файлах.

8
28.01.2020, 02:13

Конечно, вы можете копировать файлы напрямую из /home/user/whatever в /dev/sdb, если у вас есть права записи на необработанное устройство. Однако, поскольку теперь вы обходите файловую систему на этом устройстве, у вас будет просто поток байтов в /dev/sdb. Файловая система FAT, NTFS или ext4, которая была раньше, теперь исчезла, поскольку вы не прошли через драйвер файловой системы. Если вы смонтировали устройство перед копированием, драйвер позаботится о деталях файловой системы. Кроме того, вы не делаете двойную копию, поскольку каталог не существует независимо от устройства.

2
28.01.2020, 02:13

Монтирование не является абсолютно необходимым, например набор mtools может обращаться к файловым системам FAT напрямую, без поддержки ядра.

Но вам нужен драйвер файловой системы в той или иной форме для доступа к файловым системам на диске, будь то драйвер ядра, используемый при монтировании fs, или утилита пространства пользователя. Если у вас нет файловой системы на диске (или вы не заботитесь о внутренностях файловой системы ), то можно просто напрямую читать или записывать данные. Это то, что вы бы сделали, если бы написали, например. образ диска на диск.

1
28.01.2020, 02:13

Теги

Похожие вопросы