zaLinux.ru

Как в Linux подключить новый диск, разметить и отформатировать разделы


Оглавление

1. Активация диска в Linux

2. Как узнать имена дисков, как просмотреть все диски в системе

3. Разметка дисков (разделение на разделы) в Linux

4. Форматирование разделов

5. Монтирование и размонтирование дисков

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

7. Подключение съёмного носителя (флешки, внешнего диска) в Linux

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

9. Как удалить разделы диска

10. Перемонтирование диска с правами записи

Заключение


В этой небольшой заметке я покажу на практическом примере, как работать с дисками в Linux.

Активация диска в Linux

Предположим вы подключили новый диск, на котором ещё нет файловой системы. Система его не видит и нам нужно выполнить команды для его подключения.

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

При подключении нового диска нам нужно:

  • разметить его на разделы
  • отформатировать каждый раздел для создания файловой системы
  • смонтировать диск для возможности записи и чтения данных
  • настроить автоматическое монтирование при включении компьютера

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

Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.

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

sudo fdisk -l

Как видно из скриншота, имеется диск /dev/nvme0n1. Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2. По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1.

Также имеется диск /dev/sda, который не разделён ни на какие разделы — именно его я и буду подключать.


Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:

sudo cfdisk /dev/sda

Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый:

Введите его размер.

Если нужно, поменяйте тип раздела:

Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.

Форматирование разделов

Для форматирования в ext4:


sudo mkfs.ext4 /dev/имя_раздела

Для форматирования в ext3:

sudo mkfs.ext3 /dev/имя_раздела

Для форматирования в ext2:

sudo mkfs.ext2 /dev/имя_раздела

Для форматирования в FAT32:

sudo mkfs.fat -F32 /dev/имя_раздела

Мой пример (я не стал разбивать диск на разделы):

sudo mkfs.ext4 /dev/sda

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

Монтирование и размонтирование дисков

С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.

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

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.

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

sudo mount /dev/имя_раздела /точка/монтирования/

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

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

sudo mkdir /mnt/disk_d

Монтируем:

sudo mount /dev/sda /mnt/disk_d

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

sudo chmod 0777 /mnt/disk_d

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

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

sudo umount /dev/имя_раздела

Или:

sudo umount /точка/монтирования/

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

Диски для монтирования при запуске Linux прописаны в файле /etc/fstab.


Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/. При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:

sudo mkdir /mnt/disk_d

Открываю файл /etc/fstab:


sudo gedit /etc/fstab

и дописываю туда следующую строчку:

/dev/sda   /mnt/disk_d  ext4    rw,relatime 0   0

В этой строке вам нужно заменить

  • /dev/sda — на диск, который вы желаете смонтировать
  • /mnt/disk_d — на вашу точку монтирования, которую вы выбрали для своего диска.
  • ext4 — на файловую систему вашего диска

Если вы не уверены в файловой системе или её обозначении, то выполните команду:

lsblk -f

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

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

sudo chown -R $USER /mnt/disk_d

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

Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta, то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.

Для проверки записей в файле /etc/fstab используйте команду

findmnt --verify

На скриншоте можно увидеть, что диск с UUID равным 26FC3023FC2FEC2D является недоступным (unreachable). Это может означать, что запись в файле /etc/fstab имеет ошибку. Но в данном случае диск с UUID=26FC3023FC2FEC2D — это съёмный диск, для его монтирования указана опция nofail (не вызывать фатальную ошибку, даже если диск отсутствует), поэтому предупреждение можно проигнорировать.

Для вывода более подробной информации добавьте опцию --verbose:

findmnt --verify --verbose

Все пункты успешно прошли проверку, рассмотрим более подробно записи проблемного диска:

/mnt/disk_e
   [ ] target exists
   [ ] VFS options: rw
   [ ] FS options: utf8
   [ ] userspace options: noauto,nofail
   [W] unreachable: UUID=26FC3023FC2FEC2D

Они означают:

  • /mnt/disk_e — точка монтирования
  • [ ] target exists — целевая папка (точка монтирования), существуют, то есть директория /mnt/disk_e имеется в системе
  • [ ] VFS options: rw — найдена такая опция монтирования как rw, то есть диск монтируется для чтения и для записи. VFS — это опции ядра, системных вызовов. Эти опции одинаковы для всех файловых систем.
  • [ ] FS options: utf8 — найдена опция, специфичная для данной файловой системы. Этой опцией является utf8, то есть для преобразования имён файлов будет использоваться кодировка UTF-8.
  • [ ] userspace options: noauto,nofail — здесь перечислены опции пользовательского пространства. Опция noauto означает не монтировать автоматически, а опция nofail означает не сообщает об ошибках для этого устройства, если оно не существует — эта опция важна для съёмных носителей и сетевых дисков, которые могут отсутствовать во время загрузки компьютера.

Смотрите также:

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

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

Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

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

Для этого используйте уже знакомую нам команду:

lsblk -f

Как удалить разделы диска

Если вы хотите удалить всё содержимое диска, в том числе его разбивку на разделы, то это делается так:

Откройте диск в gdisk:

gdisk /dev/диск

Для перехода в экспертный режим там введите

x

Затем для удаления GPT введите

z

Дважды согласитесь, чтобы полностью очистить диск.

Перемонтирование диска с правами записи

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

sudo mount -rw -o remount /dev/sdb1

В ней /dev/sdb1 замените на имя вашего раздела.

Если вы столкнулись с ошибкой:

mount: /run/media/mial/Новый том: /dev/sdb1 is write-protected but explicit read-write mode requested.

То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):

sudo hdparm -r0 /dev/sdb1

Пример вывода:

/dev/sdb1:
 setting readonly to 0 (off)
 readonly      =  0 (off)

После этого перемонтируйте диск.

Обратите внимание, что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.

Заключение

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

Ещё несколько советов и проблемных случаев рассмотрено в статье «Работа с дисками в BlackArch (монтирование, решение проблем)» - эта статья подходит для всех дистрибутивов, не только BlackArch.


Рекомендуемые статьи:

8 Комментарии

  1. Никита

    Спасибо за статью, помогла разобраться с проблемой.

  2. Виктор

    Спасибо мне помогли разобраться с принципом монтирования. Я добавил в ноут ещё один жёсткий диск для файлов и винды 10. Всё что вы описали можно сделать в убунту, или, как у меня Поп_Ос на базе убунты, в программе диск, установлена по умолч., Нати легко пишите в поиске убунту диски и программа видна. 

  3. Алексей

    здравствуйте

    ос linux установлена на ssd , на жесткий диск также установлена ос линукс . из-за ошибки операционная система с жесткого диска не грузится ,а ssd я могу 'заходить' на жесткий диск (ос)

    Возможны ли варианты восстановления ( без форматирования жесткого диска)? ошибку пока не пишу

    Спасибо

    1. Alexey (Автор записи)

      Здравствуйте, я мало что понял из вашего сообщения, но загрузчик (GRUB) второго дистрибутива при обновлении своих настроек всегда ищет другие установленные ОС на всех доступных дисках и добавляет их в меню загрузки. То есть если можно загрузиться в любую ОС, если она не повреждена слишком сильно.

      Конечно, оригинально писать вопросы в стиле

      - У меня всё плохо, можно ли что-то сделать.

      На такой вопрос можно ответить:

      - Наверное, можно.

      Вот например в статье «Что делать, если Arch Linux не загружается» показано, как восстановить систему если случайно удалён загрузчик или другие проблемы.

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

  4. Василий

    А можете показать как с помощью GParted правильно разметить диск(встроенный в ноут ssd)  на 1 Тб? Я много видео пересмотрел, но так и непонятно, как после размеченного диска его можно использовать, т.е. скидывать туда фотки/фильмы/игры и т.д. 

    1. Alexey (Автор записи)

      После разметка диска в GParted для начала использования его нужно смонтировать. Посмотрите раздел «Монтирование и размонтирование дисков».

      После того, как разберётесь с монтированием, посмотрите следующую часть «Автоматическое монтирование диска при загрузке Linux».

       

  5. nixio

    Использую manjaro. Винт почти новый, без малого 6Tb. Смонтировал только
    два раздела "/boot/efi" и "/", swap тоже имеется. Всё работает нормально, но иногда исчезают два мои других раздела в ext4, используемые мною как файлохранилище, которым я изначально, не назначал никаких точек монтирования. После перезагрузок системы, они вновь, становятся доступными для чтения/записи.
    Скажите, какие точки монтирования им назначить, чтобы они виделись всегда?
    ps
    Глюк не фатальный, просто надоело иногда перезагружаться, если мне вдруг нужна моя файлопомойка, которая иногда, внезапно, исчезает из перечня доступных разделов8) Впрочем, в линуксах понятие "раздел" неуместно))

    1. Alexey (Автор записи)

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

      sudo journalctl -b | grep -i mount

      Пример настройки автоматического монтирования диска при загрузке Linux здесь есть, обычно для точки монтирования используются поддиректории в /mnt/. Но вполне возможно, что автоматическое монтирование было настроено во время установки ОС (если разделы диска уже существовали). Поэтому прежде чем добавлять новые записи, изучите содержимое файла /etc/fstab, проверьте его с помощью команды:

      findmnt --verify --verbose

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

      sudo mount -a -v
      

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *