- Разбивка дисков в Linux для самых маленьких
- Команда fdisk в Linux
- Опции и синтаксис fdisk
- Примеры использования команды fdisk
- 2. Интерактивный режим
- 3. Просмотр таблицы разделов
- 4. Создание таблицы разделов
- 5. Создание разделов
- 6. Тип раздела
- 7. Удаление раздела
- 8. Загрузочный раздел
- 9. Применение изменений
- Выводы
- Работа с HDD через терминал на Ubuntu/Debian
- Как посмотреть UUID для HDD через терминал на Ubuntu/Debian
- Как посмотреть список дисков через терминал на Ubuntu/Debian
- Смотрим подключенные HDD с выводом информации о размере через терминал
- Форматирование HDD через терминал на Ubuntu/Debian
- Монтирование HDD через терминал на Ubuntu/Debian
- Ручное монтирование дисков через терминал
- Монтирование директорий
- Монтирование файлов
- Автоматическое монтирование диска при загрузке системы
- Восстановление дисков через терминал
- Восстановление файловой системы
- Восстановление поврежденного суперблока
- Битые сектора
- Вывод
Разбивка дисков в Linux для самых маленьких
У многих начинающих пользователей линукс возникают сомнения, как правильно разбить жесткий диск. Постараюсь немного облегчить муки выбора нашим коллегам.
У нас в распоряжении есть — физическая разбивка дисков на разделы(fdisk, gparted), соф-RAID (mdadm), менеджер логических дисков (LVM), ширование dm-crypt (остальным не стоит забивать голову).
Пути разбивки дисков неисповедимы, поэтому мы начнем с самого простого.
1. Физическая разбивка дисков
Это самый простой, надежный и совместимый «дедовский» метод. Он позволяет четко очертить границы разделов и их взаимное положение на диске.
При разбивке диска можно учесть его физические особенности и получить некоторый прирост производительности. Дело в том, что ближе к краю диска скорость чтения может быть в несколько раз выше, чем ближе к центру. Соответственно, если расположить например /boot(128 мб), swap (memory * 2 or 2.5), /(root) то мы получаем хорошую скорость загрузки и работы с разделом подкачки. Если есть несколько дисков, то можно расположить swap в начале каждого. Но парится со swap есть смысл, если вы работаете с большими объемами данных — linux не использует swap без крайней нужды. (проверьте free -m). Отказываться от использования swap крайне не рекомендуется, так как linux хорошая система, но чудес не бывает. Открыв файл на 1ГБ можно заблокировать систему намертво без возможности разблокирования.
Разбивка диска на большое количество разделов оправдана только, если это делается для какой-то особой цели. В других случаях — достаточно обойтись простейшим / (root) и swap.
Очень часто пользователи отделяют /home от / (root) — это не имеет никакого практического смысла в однопользовательских системах. Обычно, / (root), /var, /home разделяют на серверах, чтобы пользователи со злым умыслом не заполнили логи или свою домашнюю директорию. Кстати, смонтировать /home с noexec можно и не делая отдельного раздела (man mount).
Если вы пользуетесь парралельно windows то я рекомендую использовать FAT32 для разделов с музыкой/фильмами, к которым вы хотите иметь доступ в обоих системах (и ни в коем случае не делать /home или домашнюю папку в FAT32!!). NTFS хорошо поддерживается, но недостаточно, чтобы ей пользоваться каждый день (чтобы снять unclean shutdown который не дает смонтировать раздел- нужно грузить windows), ошибки в файловой системе могут вызывать подвисания и потерю данных (привет жадному Биллу).
Запомните: черезмерная разбивка — корень всех бед. Разбивать диски «особым» образом нужно только под КОНКРЕТНУЮ задачу.
2. Логическая разбивка дисков
Не бойтесь LVM — он не такой страшный. С его помощью можно переразбивать диски, расширять партиции, добавлять физические устройства и расширяться на них, делать теневое копирование, бекап аналогичный «time machine» появился еще примерно в 2002 году. Не бойтесь, делайте бекап и пользуйтесь гибкостью LVM.
Для работы LVM, MD, DM обязательно нужен физический раздел /boot который позволит загрузчику(grub, Lilo etc) скачать минимальный образ системы (initrd) с необходимыми драйверами и конфигами для старта основной системы.
С логической разбивкой все сложнее. Вложенность разделов может быть произвольная.
Например как делается полное шифрование в ubuntu: /boot DM-CRYPT[LVM[/(root) swap]] — физический раздел /boot, затем физический раздел с dm-crypt, в котором находится LVM в свою очередь в котором два логических раздела /(root) и swap.
С вложенностью шифрования и raid можно играться как угодно.
Пример из жизни параноика:
/boot DM-CRYPT[ LVM[ /root DM-CRYPT-random[/tmp] DM-CRYPT-random[/home] DM-CRYPT-random[/var/log] DM-CRYPT-random[swap] ]]
При каждой загрузке /tmp /home /var/log и swap инициализируются с рандомным ключом. Конечно это ставит жирный крест на hibernate но при каждой загрузке- система абсолютно чистая от логов и временных файлов. Вполне сгодится для студентов или любителей побродить по порносайтам.
3. Советы по оптимизации
/boot можно сделать в файловой системе ext2 — она быстрей, чем ext3 и этого будет достаточно.
На активно использующемся разделе можно отключить access time — флаг noatime. Так часто делают на веб-серверах для уменьшения нагрузки на жесткий диск.
Как показала многолетняя практика, не стоит надеяться на надежность простого либо навороченного решения. Стоит использовать самое удобное и делать регулярный rsync на внешний носитель. В таком случае отпрадают вопросы на счет восстановления данных, которые при любом решении (особенно при шифровании) сильно усложняют жизнь. Например беды на шированной партиции при наличии Luks могут вывести систему из строя без возможности восстановления данных. Шифрованные данные более подвержены сильным повреждениям, чем нешифрованные.
(советуйте, добавлю)
В linux можно сделать абсолютно все, что угодно и это будет работать. Главное, руководствоваться здравым смыслом и не брезговать читать man вместо довольно часто вредных и устаревших howto.
Итак, резюмируем:
Для десктопов и ноутбуков оптимальный метод разбивки — полное отсутствие разбивки.
Для тех, кто не любит бекапиться, использовать «сложные методы» вроде LVM. Может подойти вариант:
swap (memory * 2), / (остальное)
Для юзеров убунты достаточно выбрать: Использовать все свободное место под LVM, тогда у вас останется много возможностей «на вырост».
Если разбивать /, /home то вы рано или поздно столкнетесь с нехваткой места на одном из разделов.
Источник
Команда fdisk в Linux
В Linux существует множество способов разметки диска, создания на нём разделов и просмотра уже существующих. Это утилиты parted и cfdisk в терминале и графическая утилита gparted. Однако сегодня мы поговорим про самую простую утилиту для разметки диска в терминале — fdisk.
Именно она используется чаще всего, если надо посмотреть как диски и разделы доступны на компьютере. Далее рассмотрим основные опции утилиты, её синтаксис, а также примеры использования.
Опции и синтаксис fdisk
Синтаксис утилиты ничем не отличается от других команд Linux:
$ fdisk опции устройство
Ей надо передать опции, согласно действия, которое вы хотите выполнить, а также раздел диска или устройство к которому эти действия надо применить. Давайте теперь рассмотрим опции fdisk:
- -B, —protect-boot — не стирать первые 512 байт диска чтобы не повредить загрузочную запись;
- -L, —color — настройка цветного вывода, возможные значения auto, never или always;
- -l, —list — вывести все разделы на выбранных устройствах или если устройств не задано, то на всех устройствах;
- -o, —output — указывает какие поля данных надо показывать в выводе программы, доступные поля рассмотрим ниже;
- -u, —units — настраивает формат вывода размера разделов, доступные значения: cylinders, sectors, по умолчанию используется sectors;
- -w, —wipe — режим стирания файловой системы или RAID с диска, возможные значения auto, never или always по умолчанию используется auto;
- -W, —wipe-partition — режим стирания файловой системы или RAID из только что созданного раздела. Возможные значения аналогичны предыдущей опции;
- -h, —help — показать справку по утилите;
- -v, —version — опция выводит версию утилиты.
Опции используются для настройки работы утилиты, мы рассмотрели только самые главные, которые могут вам пригодится, теперь перейдём к командам:
- a — включение или выключения флага boot для раздела;
- d — удалить раздел;
- F — показать свободное место;
- l — вывести список известных типов разделов;
- n — создать новый раздел;
- p — вывести таблицу разделов;
- t — изменение типа раздела;
- i — вывести информацию о разделе;
- I и O — записать или загрузить разметку в файл сценария sfdisk;
- w — записать новую таблицу разделов на диск;
- q — выйти без сохранения;
- g — создать пустую таблицу разделов GPT;
- o — создать пустую таблицу разделов MBR.
Теперь вы знаете основные опции и команды fdisk, давайте рассмотрим использование программы.
Примеры использования команды fdisk
1. Список дисков и разделов
Чтобы посмотреть список доступных вам дисков и разделов на них используйте опцию -l:
Утилита покажет все блочные устройства. На снимке есть /dev/sda, это обычный жесткий диск и /dev/nvme0n1 — это M.2 накопитель, а также там есть есть несколько /dev/loop* устройств, созданных ядром, которые лучше не трогать.
2. Интерактивный режим
Большинство операций fdisk по разметке дисков выполняются в интерактивном режиме. Чтобы запустить fdisk в интерактивном режиме передайте утилите блочное устройство которое надо разметить. В моём примере, это /dev/nvme0n1:
sudo fdisk /dev/nvme0n1
Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду m:
3. Просмотр таблицы разделов
Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p:
В данном примере на диске уже есть несколько разделов, а таблица разделов используется MBR (dos).
4. Создание таблицы разделов
Давайте создадим новую таблицу разделов GPT. Для этого используйте команду g. Для таблицы разделов MBR нам бы понадобилась команда o.
5. Создание разделов
Чтобы создать раздел используйте команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо указать размер раздела. Это можно сделать тремя способами:
- указать количество секторов раздела;
- указать последний сектор раздела;
- указать размер раздела в килобайтах, мегабайтах или гигабайтах, обозначения стандартные K,M,G.
Давайте создадим три раздела разными способами:
Первый раздел создадим с помощью обычных единиц измерения. Перед ними надо ставить плюс, так как это место, которое добавляется к первому сектору раздела.
Во втором способе укажем размер раздела в секторах. Для получения раздела размером 1 гигабайт нам понадобится примерно 2 000 000 секторов. По умолчанию размер сектора 512 байт, поэтому 2 000 000 * 512 получится примерно 1024 000 000 байт:
И в третьем способе с помощью калькулятора добавим к первому сектору раздела те же два миллиона:
На этом создание разделов fdisk завершено. А вот форматирование разделов в fdisk невозможно, для этого придется воспользоваться утилитой mkfs.
6. Тип раздела
Кроме обычных разделов для пользовательских файлов существуют и другие типы разделов, например раздел EFI, BIOS boot, Windows Recovery, Linux swap, этот тип влияет на назначение раздела, например, раздел EFI не будет использоваться пока для него не будет выбран правильный тип. Чтобы изменить тип раздела используйте команду t:
Для вывода всех доступных типов и их номеров используйте команду L:
Для выхода из списка разделов нажмите q, а затем просто наберите номер нужного типа:
7. Удаление раздела
Чтобы удалить раздел выполните команду d, а затем введите его номер:
Вот так просто выполняется удаление.
8. Загрузочный раздел
При загрузке компьютера с диска, на котором используется таблица разделов MBR, BIOS ищет раздел, отмеченный как загрузочный и начинает искать загрузчик именно на нём. Чтобы сделать раздел загрузочным если он ещё не загрузочный или наоборот сделать его не загрузочным используйте команду a:
Загрузочность отмечается звездочкой в выводе команды p. В таблице разделов GPT для записи загрузчика используется раздел с типом BIOS boot, а флага загрузочности здесь уже нет.
9. Применение изменений
Все изменения, которые вы сейчас вносили, ещё не записаны на диск. Для их записи надо выполнить команду w:
После записи изменений программа завершится.
Выводы
В этой статье мы рассмотрели как пользоваться fdisk в Linux, как создавать разделы с помощью этой утилиты, а также как выбрать тип диска. Несмотря на все возможности утилиты намного удобнее пользоваться gparted или же cfdisk если надо разметить диск в терминале. Последнюю мы разберем в одной из следующих статей.
Источник
Работа с HDD через терминал на Ubuntu/Debian
Сегодня рассмотрим ряд команд для работы с 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 вашего диска.
и редактируем в соответствии с моим листингом:
- Ваш_UUID_диска — смотрим командой в начале статьи
Чтобы неперезагружать систему набираем команду:
Теперь после перезагрузки системы раздел диска автоматически будет примонтирован в директорию /home/Music.
Восстановление дисков через терминал
Восстановление файловой системы
Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:
Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.
Восстановление поврежденного суперблока
Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.
Но не спешите прощаться с вашими данными, все еще можно восстановить. С помощью такой команды смотрим куда были записаны резервные суперблоки:
На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.
Теперь у нас есть резервные адреса суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:
Данные команды сработают только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.
Битые сектора
Или еще мы можем найти битые сектора и больше в них ничего не писать:
Данная команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку.
Вывод
И так, сегодня мы научились работать с HDD через терминал на Ubuntu/Debian подобных системах.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Источник