Примонтировать диск в debian

Обновлено: 07.07.2024

Монтирование в Linux позволяет получить доступ к содержимому диска и организовать структуру файловой системы. С помощью монтирования также можно открыть для работы образ диска (например, созданного с помощью программы dd), а также открыть для доступа и редактирования самые разные файловые системы и образы дисков (например, образы дисков виртуальных машин); даже удалённые сетевые директории могут быть смонтированы, в результате чего они станут доступны как будто бы файлы на любом другом локальном хранилище.

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

В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!

Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:


С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!

Ещё монтирование позволяет выбрать различные режимы, например, диск можно смонтировать в режиме «только чтение» - в результате с него можно будет просматривать файлы, но испортить этот диск невозможно.

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

Как увидеть точки монтирования

Для просмотра устройств и точек их монтирования, выполните команду:


Эта команда отображает целевую точку монтирования (TARGET), исходное устройство (SOURCE), тип файловой системы (FSTYPE) и соответствующие параметры монтирования (OPTIONS) для каждой файловой системы, как показано на скриншоте. Подробности смотрите в статье «Команда findmnt для просмотра смонтированных файловых систем в Linux».

Команда findmnt без опций покажет больше данных:


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

Команда mount также может показывать список точек монтирования, но эта функция в ней поддерживается только для обратной совместимости. Тем не менее, для вывода смонтированных реальных файловых систем вы можете использовать команду:


А для показа всех точек монтирования, запустите команду следующим образом:


Вы можете наблюдать процесс монтирования и размонтирования в реальном времени. К примеру, для отслеживания любых действий по монтированию и размонтированию в файловой системе используйте команду:


Как смонтировать диск

Общая команда монтирования диска имеет вид:

  • ОПЦИИ — опции утилиты mount или опции монтирования
  • УСТРОЙСТВО — блочное устройство или файл образа, который мы хотим подключить к файловой системе
  • ДИРЕКТОРИЯ — папка, где будут доступны файлы со смонтированного устройства

Среди ОПЦИЙ можно указать, например, тип файловой системы или режим только для чтения (по умолчанию монтирование выполняется для чтения и для записи). Существует большое количество опций, некоторые из которых применимы для всех файловых систем, а некоторые из которых специфичны только для определённых файловых систем. Программа mount имеет свои опции, которые относятся к поведению этой утилиты, а также имеются опции, которые относятся к файловым системам, такие опции указываются после -o.

Некоторые опции можно указать любым из этих способов, например, опцию -w, которая означает монтирование для чтения и записи (её псевдонимы --rw, --read-write), также можно указать как «-o rw».

Справочная информация по опциям будет приведена в конце данной статьи.

На самом деле, если вы хотите смонтировать диск для чтения и записи, то можно не указывать никакие опции.

Поэтому обычно для монтирования используется команда вида:

Допустим, я хочу, чтобы новый диск с именем /dev/sda был подключён (смонтирован) к папке /mnt/disk_d (название папки можно выбрать любое, а точка монтирования необязательно должна быть в директории /mnt/ - можно сделать в домашней папке или в любой другой).

Начинаем с создания директории, в которую будет смонтирован диск:

Монтируем диск /dev/sda:

Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:

На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.

Как смонтировать диск только для чтения

Для монтирования диска с правами записи, используется любая из опций: -w, --rw, --read-write, -o rw. На самом деле, ни одну из них указывать не нужно, поскольку монтирования с правами записи является поведением по умолчанию.

Чтобы смонтировать диск только с правами чтения, используйте любой из вариантов опции: -r, --read-only, -o ro.

Обратите внимание, что, в зависимости от типа файловой системы, состояния и поведения ядра, система все ещё может записывать данные на устройство. Например, ext3 и ext4 будут использовать журнал, если файловая система загрязнена. Чтобы предотвратить такой доступ для записи, вы можете смонтировать файловую систему ext3 или ext4 с параметрами монтирования ro,noload или установить само блочное устройство в режим только для чтения с помощью команды blockdev:

Обратите внимание, что эффект команды blockdev проявится только если устройство не смонтировано. Если оно уже смонтировано, то изменения вступят в силу после перемонтирования.

Программа hdparm также позволяет установить флаг read-only устройства. Когда значение read-only установлено на 1, Linux не разрешает операции записи на устройство.

Чтобы установить флаг read-only:

Чтобы снять флаг read-only (устройство станет доступным для записи):

Чтобы проверить текущее состояние флага read-only:

Пример проверки значения флага read-only для диска /dev/nvme0n1:

Вывод (режим только чтение отключён, то есть возможна запись на устройство):

Альтернативный (классический) способ создания монтирования привязки только для чтения — использовать операцию повторного монтирования, например:

О привязке (bind) и перемонтировании будет далее.

Как размонтировать диск

Для размонтирования диска используется любая из двух команд:

Частой ошибкой является когда указывают с командой umount одновременно имя диска и точку монтирования — нужно указать только что-то одно.

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

Как переместить точку монтирования

Можно переместить точку монтирования в другую директорию, для этого используется команда вида:

Это приведёт к тому, что содержимое, которое ранее отображалось в СТАРАЯ_ДИРЕКТОРИЯ, теперь будет доступно в НОВАЯ_ДИРЕКТОРИЯ. Физическое расположение файлов не меняется. Обратите внимание, что СТАРАЯ_ДИРЕКТОРИЯ должен быть точкой монтирования.

Также обратите внимание, что перемещение монтирования, находящегося под общим монтированием, недопустимо и не поддерживается. Используйте команду findmnt, чтобы увидеть текущие флаги распространения:

Как перемонтировать диск

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

Функциональность повторного монтирования соответствует стандартному способу работы команды mount с параметрами из fstab. Это означает, что mount не читает fstab (или mtab) только тогда, когда указаны и устройство, и каталог.

Команда перемонтирования имеет общий вид:

К примеру, чтобы перемонтировать диск, смонтированный в /mnt/disk_d, установив права доступа на «только для чтения»:

Можно также указать одновременно устройство и точку монтирования:

Пример перемонтирования корневой файловой системы с опцией «чтение и запись»:

Опция «чтение и запись» может быть помещена в опцию строки команды -o, например:

После этого вызова все старые параметры монтирования заменяются, а произвольные данные из fstab (или mtab) игнорируются, за исключением параметра loop=, который генерируется внутри и поддерживается командой mount.

После этого вызова mount читает fstab и объединяет эти параметры с параметрами из командной строки (-o). Если в fstab не найдена точка монтирования, разрешается повторное монтирование с неуказанным источником.

mount позволяет использовать --all для повторного монтирования всех уже смонтированных файловых систем, соответствующих указанному фильтру (-O и -t). Например, команда:

перемонтирует все уже смонтированные файловые системы vfat в режим только для чтения. Каждая файловая система перемонтируется семантикой «mount -o remount,ro /dir». Это означает, что команда mount считывает fstab или mtab и объединяет эти параметры с параметрами из командной строки.

Как узнать имя диска для монтирования

Чтобы смонтировать диск (или файл образа) достаточно указать имя устройства и папку, куда его смонтировать (где будут доступны файлы с этого диска). Как мы уже выяснили, не нужно даже указывать тип файловой системы.

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

Отсюда возникает вопрос, как узнать имя раздела для монтирования? Устройства в Linux имеют имена вида /dev/*. Большинство дисков и USB накопителей имеют имена вида /dev/sd*, где в качестве * (звёздочки) используются буквы от a и далее, то есть b, c, d… Номер буквы соответствует порядковому номеру диска в системе. Если диск разбит на разделы, то после буквы идёт цифра раздела, например, /dev/sda1, /dev/sda2 и так далее. Если диск не разбит на разделы, то его можно смонтировать по имени без цифры, например, /dev/sda. Если же диск разбит на разделы, то нужно указать его имя с цифрой раздела, например, /dev/sda3.

В зависимости от используемой технологии дисков, у них могут быть другие имена. Пример имени диска NVMe: /dev/nvme0n1. В этом случае нумерация разделов также не подчиняется описанным выше правилам, первый и второй разделы имеют имена /dev/nvme0n1p1 и /dev/nvme0n1p2 соответственно.

Итак, необходимо правильно определить имя диска (или имя раздела, если диск разбит на разделы).

Обзорную информацию о дисках в системе может дать команда:

Эта команда показала, что в системе есть диски трёх типов: SCSI (внутренний жёсткий диск), [SAT], ATA (жёсткий диск, подключённый по USB переходнику к компьютеру), NVMe (внутренний твердотельный диск).

На самом деле, вывод команды неполный (пропущена USB флешка) и в нём полностью отсутствует информация о разделах. Тем не менее она может помочь вам сориентироваться в присутствующих на вашей системе дисках.

Хорошим вариантом является следующая программа:

Она выводит информацию о каждом диске и каждом разделе. В информации присутствует модель диска, размер и тип разделов — основываясь на этих данных можно найти название нужного раздела.


Если вы всё равно не можете разобраться, то со съёмными носителями (внешними USB дисками и флешками), вы можете поступить так: выполнить команду fdisk -l до подключения диска, затем подключить диск/флешку, выполнить команду fdisk -l ещё раз и посмотреть, какой диск добавился.

Если диск монтируется автоматически, то его имя можно увидеть с помощью команда мониторинга:

Ещё одна команда, показывающая обзорную информацию об именах дисках, их файловых системах, ярлык и занятое пространство (в процентах) и доступный объём свободного места (в гигабайтах):


Возможно вы сможете найти полезную информацию в LABEL разделов, чтобы показать сразу все разделы, выполните:

Если вы уже почти определились с разделом и хотите подтвердить свою правоту, то информацию по конкретному разделу можно получить командой вида:

Команда file также может рассказать много интересного про раздел:

Постановка задачи: подключить новый жесткий диск, создать на нём ext4 раздел и смонтировать его через fstab по UUID.

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

1. Создание нового раздела на жёстком диске

Для начала, определим имя свеже-подключённого жесткого диска в системе:

Как видно, новый жёсткий диск доступен под именем /dev/sdb и не имеет еще никаких разделов (Disk /dev/sdb doesn't contain a valid partition table). Исправим это, используя cfdisk (Утилита из пакета gpart, установите её по-необходимости командой apt-get install gpart).

Далее, создадим новый раздел ext4 на нашем новом жёстком диске, который займёт всё доступное место.

По-этапно, создание одного раздела размером на весь жёсткий диск выглядит так, как показано на рисунке ниже:

создание нового раздела с помощью cfdisk

рисунок 1 — создание нового раздела с помощью cfdisk

Проверим теперь наши разделы:

2. Форматирование нового раздела в ext4

Для этого используем утилиту mkfs.ext4 из библиотеки e2fslibs для работы с файловыми системами ext2/ext3/ext4. (По-необходимости, установите пакет с помощью комманды apt-get install e2fslibs)

3. Создание точки монтирования и настройка монтирования в fstab, используя UUID

Ввиду того, что виртуальная машина для разработки имеет один раздел на всё, в нашем, частном случае, появилась необходимость вынести папку /home на новый жесткий диск. Для этого проделаем следующие операции от суперпользователя (root):

Примечание: не ребутайтесь до завершения всех операций, дабы исключить возможный гемор. Кстати, в ином, чисто академическом случае — просто создайте произвольную папку mkdir /newhdd и настраивайте монтирование в неё.

Естественно, для того, чтобы настроить монтирование по UUID (Universally Unique Identifier), нам необходимо узнать этот код для нового раздела. Для этого используем утилиту blkid (пакет libblkid1):

Непосредственно для монтирования раздела "на-горячую" выполним команду:

И напоследок вернём содержимое папки /oldhome на старое место:

Примечание: укажите именно mv /oldhome/* /home при переносе содержимого папки, чтобы перенести именно содержимое папки, а не её саму. Обязательно после переноса проверьте права на папки пользователей внутри корневой папки home, иначе у Вас могут возникнуть проблемы со входом в систему при последующей перезагрузке (доступ к папкам .ssh, если Вы используете авторизацию по ключам).

После успешного переноса, пустую папку можно удалить:

Проверим теперь нашу структуру разделов и доступное место:

Всё настроено верно и проблема со свободным местом успешно решена. Теперь можно, перекрестясь, перезапустить систему и убедиться что всё работает как должно!

HDD-SSD-logo

Сегодня рассмотрим ряд команд для работы с HDD через терминал на Ubuntu/Debian и других Linux системах.

Прочитав несколько статей я конечно нашел нужную информацию о том как работать с HDD через терминал, но она была раскидана по просторам интернета и если вам дорого ваше время, то вы пришли по адресу. В данной статье я решил объединить команды и написать удобную шпаргалку для администрирования Ubuntu/Debian систем.

Как посмотреть UUID для HDD через терминал на Ubuntu/Debian

Посмотреть uuid диска для разделов можно с помощью команды:

Вывод должен быть приблизительно такой:

Как посмотреть список дисков через терминал на Ubuntu/Debian

Самый простой способ увидеть все подключённые диски — это посмотреть содержимое каталога /dev/ и отфильтровать устройства по начальному названию sd или vd . Ну это уже зависит от того, какой диск и на какой системе выищите.

Смотрим подключенные HDD с выводом информации о размере через терминал

Посмотреть подключённые диски с выводом информации о размере, точке монтирования и свободном пространстве на Ubuntu/Debian, можно с помощью утилиты df:

Вот вам еще одна команда, которой можно посмотреть подробный вывод о размерах подключенных дисков:

Форматирование HDD через терминал на Ubuntu/Debian

Для форматирования разделов дисков в системе используем команду parted.

Будьте внимательны с данной командой, т.к. она может затереть весь ваш диск.

Для начала определяем с каким диском мы будем работать. Для этого набираем все ту же нами знакомую команду lsblk

После вывода информации определяем наш диск и набираем:

где sdb — это наш диск

Далее создаем новую таблицу разделов:

После можно создавать разделы. Если вам нужно создать один большой раздел, который будет занимать весь объем диска, то команда будет такой:

Если же вы хотите создать несколько разделов на диске, то последовательность команд будет следующей:

После данной команды у вас будут три раздела с соответствующими размерами в 5 Гб, 15 Гб, а третий займет все оставшееся пространство на данном диске.

Для вывода информации набираем:

Если вас все устраивает, то выходим из программы форматирования:

Давайте теперь отформатируем получившиеся разделы в файловую систему ext4 :

или в случае с несколькими разделами диска:

После данной процедуры разделы готовы к использованию. Только не забудьте предварительно примонтировать их к системе.

Монтирование HDD через терминал на Ubuntu/Debian

Ручное монтирование дисков через терминал

Для монтирования дисков через терминал набираем следующую команду:

Директория /home/Music должна существовать.

Монтирование директорий

Если при монтировании директорий терминал выдает следующее

Значит Вы пытаетесь примонтировать одну директорию в другую. Для исправления данной ошибки наберите следующую команду используя опцию --bind:

Монтирование файлов

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

Автоматическое монтирование диска при загрузке системы

Для автоматического монтирования разделов диска воспользуемся файлом fstab. Также вам необходимо знать UUID вашего диска.

и редактируем в соответствии с моим листингом:

Чтобы неперезагружать систему набираем команду:

Теперь после перезагрузки системы раздел диска автоматически будет примонтирован в директорию /home/Music.

Восстановление дисков через терминал

Восстановление файловой системы

Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:

Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.

Восстановление поврежденного суперблока

Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.

Но не спешите прощаться с вашими данными, все еще можно восстановить. С помощью такой команды смотрим куда были записаны резервные суперблоки:

На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.

Теперь у нас есть резервные адреса суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:

Данные команды сработают только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.

Битые сектора

Или еще мы можем найти битые сектора и больше в них ничего не писать:

Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.

Вывод

И так, сегодня мы научились работать с HDD через терминал на Ubuntu/Debian подобных системах.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Добавление жесткого диска в Linux через консоль

Добавление жесткого диска в Linux - операция достаточно легкая, хотя и кажется на первый взгляд достаточно тяжелой. Ниже предоставлена подробная инструкция того, как добавить жесткий диск в операционных системах семейства Linux.

Все действия проводились на компьютере под управлением операционной системы Debian 8.4, однако они должны подойти и к другим дистрибьютивам Linux.

Идентифицируем жесткий диск

Начнем с того, что найдем под каким именем скрывается жесткий диск в системе. Для этого используем команду ls:

Если в системе несколько жестких дисков, то скорее всего мы получим примерно следующую картину:

Для понимания стоит отметить, что /dev/sda /dev/sdb/ и т. д. (без цифр) - это сами жесткие диски, а вот /dev/sda1, /dev/sda2 - это разделы на жестких дисках.

Создание файловой системы

Если жесткий диск новый, то на нем не должно быть никакой файловой системы. Нам остается лишь получить информацию по этому жесткому диску с помощью утилиты fdisk. Вводим:

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

Убедившись в том, что это нужный диск, приступаем. Для начала нужно будет создать новый раздел, для этого опять используем программу fdisk:

Запустится утилита fdisk, которая попросит ввести какую-нибудь команду.

Вводим одну единственную букву - n.

Затем отвечаем на вопрос о типе раздела:

Если планируется создавать один раздел, или больше (но не более четырех), то выбираем пункт p.

У Partition number, First sector и Last sector оставляем все по умолчанию и просто нажимаем Enter.

Теперь нужно сохранить эти изменения - вводим команду w, которая укажет программе fdisk о необходимости выйти, предварительно записав изменения на диск. Если же что-то было сделано не так, то можно выйти без изменений введя команду q.

Далее нужно создать файловую систему на жестком диске. Пусть это будет ext4:

Если на жестком диске нет никаких нужных данных, и не планируется использование файловой системы NTFS, то нужно ответить y.

Осталось смонтировать (добавить) раздел в систему. Допустим это будет папка backup, расположенная в корне. Создаем папку:

Теперь получим идентификатор раздела командой blkid:

После чего будет выведен список всех разделов в системе и их UUID:

Находим нужный, и запоминаем его UUID. Теперь открываем /etc/fstab, и добавляем туда следующую строчку:

или как вариант, выполнить команду:

Этим мы объясняем системе, что при загрузке следует смонтировать раздел с определенным UUID как папку /backup и файловой системой ext4.
Проверить правильность предыдущих действий можно с помощью команды:

Если никаких ошибок не выявлено, значит все было сделано правильно.

Для того, чтобы примонтировать раздел прямо сейчас, можно выполнить следующую команду:

Читайте также: