You are here: Home » Справка и подсказки » Работа с дисками в BlackArch (монтирование, решение проблем)

Работа с дисками в BlackArch (монтирование, решение проблем)

NTFS монтируется только для чтения

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

sudo pacman -S ntfs-3g

Чтобы посмотреть информацию о дисках в BlackArch

Чтобы узнать, как называются диски, можно воспользоваться командой

sudo fdisk -l

001

Какие-то диски подписаны, о других дисках можно догадаться по их размеру.

Если вас интересует значение UUID диска, то воспользуйтесь командой blkid:

Посмотреть данные по конкретному диску

sudo blkid /dev/sda1

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

sudo blkid

Аналогично, но в более читаемом формате

blkid -o list

Показать только UUID конкретного диска

sudo blkid -s UUID -o value /dev/sda1

002

Ошибка The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount.

Если при попытке монтирования диска с файловой системой NTFS вы получаете:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sdb1': Операция не позволена
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

То в отношении этого диска вам нужно выполнить команду:

sudo ntfsfix /dev/sdb1

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

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

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

mkdir ~/2ndHDD

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

sudo gedit /etc/fstab

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

/dev/sdb1	/home/mial/2ndHDD/	ntfs	rw,uid=mial	0	0

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

  • /dev/sdb1 — на диск, который вы желаете смонтировать
  • mial — на имя вашего пользователя
  • /home/mial/2ndHDD/ — на вашу точку монтирования, которую вы выбрали для своего диска.

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

Linux не загружается из-за неудачного автомонтирования

Такое бывает. Особенно если у диска, который вы хотите автоматически монтировать при старте системы файловая система NTFS и если у вас хотя бы иногда возникает указанная выше ошибка: The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount.

Не надо бояться, в консоли восстановления наберите пароль рута, затем

vim /etc/fstab

(если вы установили BlackArch, значит вы умеете пользоваться vim)

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

Скрипт для монтирования диска

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

#!/bin/bash
sudo ntfsfix /dev/sdb1
sudo mount -o rw -o uid=mial -o umask=0000 /dev/sdb1 ~/2ndHDD/
nemo ~/2ndHDD/

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

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

  • /dev/sdb1 — на диск, который вы желаете смонтировать
  • mial — на имя вашего пользователя
  • ~/2ndHDD/ — на вашу точку монтирования, которую вы выбрали для своего диска.

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

Проверить права можно, например, так:

ls -lad ~/2ndHDD/

003

Понятно, что ~/2ndHDD/ вам нужно заменить на свою точку монтирования.

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

sudo umount /dev/sdb1
sudo umount ~/2ndHDD/

Программа с графическим интерфейсом для управления дисками

004

Установите программу:

sudo pacman -S gnome-disk-utility

И запустите её:

gnome-disks

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

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

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

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

Плюсы этого подхода:

  • нет опасности, что вы забыли сохранить что-то ценное при переустановке системы и, как результат, безвозвратно потеряли эти файлы при форматировании;
  • экономия времени, которое было бы потрачено на резервное копирование/восстановление при переустановке системы.

Что делать, если не хватает места на диске

Предположим, какая-то программа использует каталог .pyrit в домашнем каталоге (т. е. это ~/.pyrit). При этом программе нужны десятки гигабайт, а этого места у меня в домашнем каталоге нет. Можно, как это показано выше, смонтировать целый диск. Но если диск уже смонтирован для других целей, то можно создать ссылку с желаемого каталога на любое другое место на смонтированном жёстком диске. Итак, я удаляю существующую директорию:

rm -rf ~/.pyrit

На жёстком диске, который я смонтировал для других целей, я создаю каталог, в который будет вести ссылка (имя может быть любым):

mkdir ~/2ndHDD/.pyrit

И создаю символическую ссылку:

ln -s ~/2ndHDD/.pyrit/ ~/

В результате этого программа будет обращаться к своему каталогу (~/.pyrit), а на деле ей будет доступно всё место носителя, на который ведёт ссылка.

Добавить комментарий

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