6 мин для чтениякоманда fdisk в linux (создание разделов диска)
Содержание:
Запись USB Flash из Calculate Linux
Помимо в Calculate Linux есть собственная утилита записи образа системы на флешку — . Утилита имеет ряд особенностей, среди которых:
- использование файловой системы Fat32
- поддержка записи образа без форматирования флешки
Использование файловой системы Fat32 позволит вам дописывать файлы на Flash, обновлять образ, использовать для загрузки несколько систем.
Для начала разметьте флеш-накопитель. Для этого выполните следующие действия:
fdisk /dev/sdb
Добро пожаловать в fdisk (util-linux 2.30.2). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Команда (m для справки): n Тип раздела p основной (0 первичный, 0 расширеный, 4 свободно) e расширенный (контейнер для логических разделов) Выберите (по умолчанию - p): Используется ответ по умолчанию p Номер раздела (1-4, default 1): Первый сектор (2048-30871551, default 2048): Последний сектор + число секторов или + размер{K,M,G,T,P} (2048-30871551, default 30871551 Создан новый раздел 1 с типом 'Linux' и размером 14.7 GiB. Команда (m для справки): w Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
Чтобы посмотреть список доступных устройств, выполните следующую команду:
cl-install-flash -d list
Диск для установки: [/dev/sda1] /dev/sda1 (ATA KINGSTON SV300S3) [/dev/sda2] /dev/sda2 (ATA KINGSTON SV300S3) [/dev/sda3] /dev/sda3 (ATA KINGSTON SV300S3) [/dev/sda4] /dev/sda4 (ATA KINGSTON SV300S3) [/dev/sda5] /dev/sda5 (ATA KINGSTON SV300S3) [/dev/sdb1] /dev/sdb1 (UFD 3.0 Silicon-Power16G)
В данном примере имя флеш-накопителя — /dev/sdb1.
Теперь выполните:
cl-install-flash —iso cldx-17.12.2-x86_64.iso -d /dev/sdb1 —format
Установка на Flash * Установочный образ: Calculate Linux Desktop Xfce 17.12.2 x86_64 20180219 * Диск для установки: /dev/sdb1 (UFD 3.0 Silicon-Power16G) * Форматировать USB Flash: да Запустить процесс? (Yes/No): yes * Форматирование разделов ... * Распаковка образа системы ... * Конфигурирование Flash-установки ... * Подготовим систему для перезагрузки ... * Отключение устанавливаемого дистрибутива ... * Система установлена!
Информация о дисковом носителе
1. df
Команда выдает информацию о подмонтированных разделах и объемах, занимаемых ими:
df -h
Пример ответа:
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/mapper/sys-root 25G 11G 15G 41% /
devtmpfs 1,9G 0 1,9G 0% /dev
tmpfs 1,9G 4,0K 1,9G 1% /dev/shm
tmpfs 1,9G 193M 1,7G 11% /run
tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
/dev/sda1 1014M 186M 829M 19% /boot
2. fdisk
Подробная информация о диске и его разделах:
fdisk /dev/sda -l
Ответ:
Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d5e55
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 62914559 30407680 8e Linux LVM
3. iotop
Команда позволяем увидеть загруженность дисковой системы. Утилиты может не быть в системе — сначала ее нужно установить.
а) на Ubuntu / Debian:
apt-get install iotop
б) на CentOS / Red Hat:
yum install iotop
После установки утилита запускается командой:
iotop
Вывод похож на top:
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd —swi…
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 %
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
1542 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 %
…
4. smartmontools
Утилита позволяет получить SMART дисковых накопителей. По умолчанию, она не установлена — установка выполняется из репозитория.
а) на Ubuntu / Debian:
apt-get install smartmontools
б) на CentOS / Red Hat:
yum install smartmontools
После установки можно использовать:
smartctl -A /dev/sda
* в данном примере мы увидим SMART для диска sda.
Если мы хотим получить информацию по всем дискам, вводим команды по очереди для каждого или:
find /dev -name ‘sd’ -exec smartctl -A {} \;
Explanation of each device in lsblk command output
df -hTP /mnt/rh Filesystem Type Size Used Avail Use% Mounted on /xfer/isos/rhel-server-7.4-x86_64-boot.iso iso9660 456M 456M 0 100% /mnt/rh
- Next, we have the sr0 device which denotes the cdrom. The RM field for this device is 1 indicating that it’s removable.
- Then we see sda which is a disk device followed by sda1 and sda2 which are partitions.
- sda1 is mounted as /boot file system, and sda2 partition is under LVM control and resulting from this we can view the slave or child logical volumes are using this physical volume in a tree-like format.
- Each of the logical volumes being displayed in the output has a file system mounted on them mentioned in the mount point field.
Example 2: If we do not want to view the output in a tree-like format, then we can use the -l option to display the output in a list format:
$ lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 208M 0 loop loop1 7:1 0 456M 0 loop /mnt/rh sr0 11:0 1 1024M 0 rom sda 8:0 0 60G 0 disk sda1 8:1 0 512M 0 part /boot sda2 8:2 0 59.5G 0 part os_vg-root_lv (dm-0) 253:0 0 16G 0 lvm / os_vg-swap_01_lv (dm-1) 253:1 0 4G 0 lvm os_vg-tmp_lv (dm-4) 253:4 0 2G 0 lvm /tmp os_vg-var_lv (dm-5) 253:5 0 10G 0 lvm /var os_vg-hpds_lv (dm-6) 253:6 0 6G 0 lvm /var/opt/perf/datafiles os_vg-kickstart_lv (dm-7) 253:7 0 4G 0 lvm /kickstart sdd 8:48 0 2G 0 disk sdb 8:16 0 32G 0 disk xfer_vg-lvol1 (dm-3) 253:3 0 32G 0 lvm /xfer sdc 8:32 0 24G 0 disk kdump_vg-kdump_lv (dm-2) 253:2 0 24G 0 lvm sde 8:64 0 3G 0 disk
Example 3: We cause the -o flag to filter out only those fields for which we’d like the output to be reported. For example, we could type the following command to report just the NAME, SIZE and MOUNPOINT attributes for the block devices.
$ lsblk -o NAME,SIZE,MOUNTPOINT NAME SIZE MOUNTPOINT loop0 208M loop1 456M /mnt/rh sr0 1024M sda 60G |-sda1 512M /boot `-sda2 59.5G |-os_vg-root_lv (dm-0) 16G / |-os_vg-swap_01_lv (dm-1) 4G |-os_vg-tmp_lv (dm-4) 2G /tmp |-os_vg-var_lv (dm-5) 10G /var |-os_vg-hpds_lv (dm-6) 6G /var/opt/perf/datafiles `-os_vg-kickstart_lv (dm-7) 4G /kickstart sdd 2G sdb 32G `-xfer_vg-lvol1 (dm-3) 32G /xfer sdc 24G `-kdump_vg-kdump_lv (dm-2) 24G sde 3G
Example 4: We can use the -n option to omit the printing of header lines and -d option to print top-level devices only.
$ lsblk -dn loop0 7:0 0 208M 0 loop loop1 7:1 0 456M 0 loop /mnt/rh sr0 11:0 1 1024M 0 rom sda 8:0 0 60G 0 disk sdd 8:48 0 2G 0 disk sdb 8:16 0 32G 0 disk sdc 8:32 0 24G 0 disk sde 8:64 0 3G 0 disk
Example 5: Using this can be useful in scripts. I’ll demonstrate this by writing a quick one-liner using awk which will print the total storage of the physical volumes attached to the server.
$ lsblk -dn -o NAME,TYPE,SIZE | awk '/disk/ {sum+=$NF} END {print sum, "GB"}' 121 GB
I’ll just do a quick breakdown of the awk section.
- /disk/ is a search term for the word disk. It’ll filter out all disk devices from the input. We can use regular expressions as well.
- The AWK built-in variable $NF represents the last column in the input (space separated fields) and by using += we iterate over this column and increment the value of the variable sum with the value of $NF in the next row. This continues until the last row is encountered.
- The END block ensures that what follows is executed only once at the end of the awk statement.
- Following the END block, we have a print statement which prints the value of sum obtained after adding the value of $NF over all rows in the input.
- Since we are performing an arithmetic operation on the given field, awk will discard the ‘G’ appended at the end of the SIZE filed in the lsblk output.
Post Views:
41,156
The following two tabs change content below.
Sahil Suri
He started his career in IT in 2011 as a system administrator. He has since worked with HP-UX, Solaris and Linux operating systems along with exposure to high availability and virtualization solutions.
He has a keen interest in shell, Python and Perl scripting and is learning the ropes on AWS cloud, DevOps tools, and methodologies. He enjoys sharing the knowledge he’s gained over the years with the rest of the community.
Latest posts by Sahil Suri
- Setting up chrooted ssh jails in Linux — October 8, 2019
- How To exclude copying of specific directories in Linux using cp/scp/rsync — October 7, 2019
- Docker container ports explained — September 27, 2019
- Docker Volumes explained — September 25, 2019
- Docker networking commands explained — September 24, 2019
Организация разделов жесткого диска
Разбиение жесткого диска — это определение областей диска, которые операционная система будет использовать в качестве отдельных разделов или томов.
При организации разделов диска в его первый сектор (цилиндр 0, головка 0, сектор 1) заносится главная загрузочная запись (Master Boot Record — MBR). В ней содержатся сведения о том, с каких цилиндров, головок и секторов начинаются и какими заканчиваются имеющиеся на диске разделы. В этой таблице также содержатся указания для системной BIOS, какой из разделов является загрузочным, т.е. где следует искать основные файлы операционной системы.
Для разбиения жестких дисков можно использовать специальное программное обеспечение сторонних разработчиков или можно воспользоваться программами уже интегрированными в устанавливаемую систему. Системы Windows 2000, XP, Vista и 7 имеют в своем составе программу DISKPART.
Программу DISKPART
Также создать разделы и выполнить их форматирование можно с помощью инструмента «Управление дисками» в этих операционных системах.
Программа Управление дисками
Все версии Windows, начиная с Windows 95, могут выполнять операции создания разделов и форматирования в процессе своей установки. Программы разбиения формируют загрузочную запись MBR таким образом, чтобы диск мог быть распознан как один или несколько томов для хранения файлов. Наличие нескольких разделов также позволяет сосуществовать на одном жестком диске нескольким операционным системам. Независимо от того, какая операционная система используется, она должна поставляться с утилитами DISKPART и Управление дисками, которые могут применяться для создания разделов на жестком диске.
Программы DISKPART позволяют создать два различных типа разделов диска: основной и дополнительный. Основной раздел может быть загрузочным, а дополнительный не может. Если в компьютере установлен один жесткий диск, то хотя бы его часть должна быть основным разделом при условии, что компьютер будет загружаться с этого жесткого диска. Основному разделу назначается буква C: диска, а дополнительным — остальные буквы, а именно — D:, Е: и т.д. Один дополнительный раздел может содержать одну букву тома (логический диск DOS) или же несколько логических дисков.
Термин «логический диск DOS» не подразумевает использования только DOS — может работать любая операционная система: Windows 95, 98, Me, NT, 2000, XP, Vista, 7, Linux и т.д.
В зависимости от используемой версии Windows может понадобиться разделить диск на несколько логических. Оригинальные версии Windows 95 и MS-DOS поддерживают только файловую систему FAT16, позволяющую хранить не более 65536 файлов на диске, при этом объем раздела не может превышать 2,1 Гбайт. Таким образом, жесткий диск объемом 10,1 Гбайт в этих операционных системах должен быть разделен минимум на пять дисков.
Разбивать диск на разделы необходимо и в целях безопасности данных. Например, диск можно разделить по следующей схеме:
- C: — операционная система и приложения;
- D: — данные.
В приведенном примере основной и дополнительный разделы будут организованы следующим образом:
- C: — основной раздел;
- D: — логическое устройство (том) в дополнительном разделе.
В операционных системах Wndows XP, Vist и 7 есть ограничения на количество создаваемых основных разделов жесткого диска, их количество составляет 4. Лично я предпочитаю создавать только один основной раздел, хотя в некоторых исключительных случаях может потребоваться создание и всех четырех.
При наличии двух разделов легче управлять резервированием данных, так как обычно резервируется только информация пользователя, а не программы и операционная система.
Подключить и примонтировать диск
Расскажу, как подключить и настроить новый физический или виртуальный диск в Debian. У меня в системе есть один диск — /dev/sda. Я подключил к ней новый жесткий диск sdb. Хочу его отформатировать в файловую систему xfs и примонтировать в каталог /mnt/backup.
Разметка диска
Вы можете не создавать разделы на жестком диске, а создать файловую систему прямо по всему диску. Делать так не рекомендуется, хотя лично я никаких проблем не получал при таком использовании диска. С разделами просто удобнее, так как ими можно оперировать — изменять, перемещать, расширять. добавлять и т.д.
Создадим один раздел на диске с помощью утилиты cfdisk.
# cfdisk /dev/sdb
Если диск чистый, то вам будет предложено создать таблицу разделов на ней. Я обычно gpt создаю. Дальше через графический интерфейс создайте раздел на весь диск и укажите type — Linux filesystem.
Как закончите, сохраняйте изменения. Вас попросят подтвердить запись, написав yes. Пишите полное слово, не просто y, а именно yes, иначе изменения не будут записаны. Теперь надо обновить таблицу разделов. Иногда система автоматически не видит новые разделы, а требует перезагрузку, чтобы их увидеть. Перезагружаться не обязательно, достаточно запустить программу partprobe.
# partprobe -s
Если ее нет в системе, то установите пакет parted.
# apt install parted
Создание файловой системы ext4, xfs
Раздел на новом диске создали. Теперь его надо отформатировать в файловую систему xfs. Это не родная система для Debian, поэтому нужно поставить отдельный пакет xfsprogs для работы с ней.
# apt install xfsprogs
Создаем файловую систему xfs на новом диске.
# mkfs.xfs /dev/sdb1
Если вам нужно создать файловую систему ext4, то ничего ставить дополнительно не нужно. Сразу форматируете раздел в ext4 командой:
# mkfs -t ext4 /dev/sdb1
Теперь создаем директорию, куда будем монтировать новый диск и подключаем его.
# mkdir /mnt/backup # mount /dev/sdb1 /mnt/backup
Проверяем, что получилось.
# df -h
Посмотрим, какую метку получил новый раздел с помощью blkid.
Метку будем использовать для того, чтобы монтировать диск автоматически при загрузке системы. Для этого редактируем файл /etc/fstab. Добавляем в самый конец новую строку, чтобы получилось примерно так.
/dev/mapper/debian10--vg-root / ext4 errors=remount-ro 0 1 UUID=88c4c0aa-be17-4fd9-b1b7-5c8be142db77 /boot ext2 defaults 0 2 UUID=415236b0-68bd-4f27-8eaf-5e8ab49d98d7 /mnt/backup xfs defaults 0 1
Обязательно следите за тем, чтобы в конце файла fstab был переход на новую пустую строку
Это важно. Если не сделать переход на пустую строку, система не загрузится.
Очень внимательно редактируйте fstab. Ошибка с этим файлом может привести к тому, что система не будет грузиться. Сам сталкивался с этим неоднократно. Я всегда убеждаюсь, что корректно отредактировал fstab перезагрузкой системы. У меня были ситуации, когда файл правился с ошибкой, а потом система не перезагружалась месяцами. Через пол года сделал ребут и система не загрузилась. Это был гипервизор с кучей виртуалок. Было не по себе от такого сюрприза. Оказалось, что была ошибка в fstab, которую оперативно исправил, благо был доступ к консоли. Внимательно за этим следите.
Поясню еще, почему использовали метку диска, а не название диска в системе — /dev/sdb1. Раньше я всегда так и делал. Ну как раньше — лет 7-10 назад. Потом пошли какие-то изменения и стали возникать ситуации, что после добавления новых дисков в систему, менялись системные названия дисков. Когда сталкиваешься с этим впервые — впадаешь в ступор. Вроде только добавил диск в систему, а у тебя все сломалось. То, что было /dev/sdb стало /dev/sdc со всеми вытекающими последствиями. Выход из этой ситуации — использовать метки разделов, а не названия. Метки не меняются.
Работа с дисками[править]
См. также ТестированиеКомпьютера
Не рекомендуется использовать программы fdisk/cfdisk для первичного разбиения диска, один из разделов в котором предназначен для загрузки Windows. Используйте parted.
0. Создать загрузочную запись
См. man ms-sys или sys в DOS/Win95/Win98 или fixboot в консоли восстановления
1. Увидеть, что пишет система о дисках при загрузке
# dmesg | grep sd
или, на старых (< 2.6.18) ядрах
# dmesg | grep hd
2. Вывести перечень всех разделов и всех дисков
# fdisk -l
либо команда
# blkid
3. Полная информация о диске
# hdparm -I /dev/sda
4. Вывести информацию о состоянии диска
# smartctl -a /dev/sda
Запустить внутренний тест диска
# smartctl -t short /dev/sda
или
# smartctl -t long /dev/sda
5. Программа работы с разделами диска
# parted /dev/sd?
6. Программы восстановления потерянных разделов
# testdisk (более user-friendly) # gpart (более могучая, но надо тщательно читать man)
7. Графическая программа для работы с разделами диска
$ qtparted
8. Вывод температуры диска
# hddtemp /dev/sda
9. Простая программа работы с разделами диска
# cfdisk
10. Восстановление файлов на разделе ext2
$ man recover
11. Сканирование диска на сбойные сектора (вместо badblocks)
# diskscan
12. Восстановление стёртых файлов с любых файловых систем
# photorec из пакета testdisk
Таблица соответствия устройствправить
Таблица соответствия IDE-устройств
Устройство | Подключение |
/dev/hda | Master на IDE0 (Primary) |
/dev/hdb | Slave на IDE0 (Primary) |
/dev/hdc | Master на IDE1 (Secondary) |
/dev/hdd | Slave на IDE1 (Secondary) |
Для SATA-устройств (так же как и для SCSI) чёткого порядка именования нет, устройствам выдаются имена sda,sdb,… в порядке их обнаружения системой.
Как пользоваться smartctlправить
# smartctl -a /dev/sda
Смотрим на следующие параметры:
1 Raw_Read_Error_Rate 0x000b 100 100 051 Pre-fail Always - 11 5 Reallocated_Sector_Ct 0x0033 051 051 010 Pre-fail Always - 101 7 Seek_Error_Rate 0x000b 253 253 051 Pre-fail Always - 0 197 Current_Pending_Sector 0x0033 253 253 010 Pre-fail Always - 0 198 Offline_Uncorrectable 0x0031 253 253 010 Pre-fail Offline - 0 200 Multi_Zone_Error_Rate 0x000b 100 100 051 Pre-fail Always - 0 201 Soft_Read_Error_Rate 0x000b 100 100 051 Pre-fail Always - 2
Если вкратце, то это все означает, что у вашего диска есть
проблемы
с поверхностью диска и часть секторов уже переназначена на запасные (параметр Reallocated_Sector_Count), а часть вообще потеряна (параметр Offline_Uncorrectable). Когда первый параметр достигнет нуля, есть большая вероятность появления bad секторов. Но эта вероятность есть и сейчас, поскольку нет 100% вероятности, что переназначенный сектор содержит ту же информацию, что и раньше. Я бы вам посоветовал озаботиться сохранением всех важных данных на более надежном носителе.
Надо сказать, что диск в подобном состоянии вполне еще может послужит в качестве дискеты и выбрасывать его рано :):)
- Dmitry (Mothlike) Marochko
- Vitaly Lipatov