Linux узнать загрузочный диск

Обновлено: 06.07.2024

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

В системе Linux существует несколько способов посмотреть все жесткие диски. Из этой статьи вы узнаете, как посмотреть диски в Linux с помощью командной строки.

1. lsblk

lsblk (list block devices) используется для просмотра информации обо всех доступных блочных устройствах, таких как жесткий диск и флэш-накопители.

Просто набрав команду lsblk, вы получите список всех блочных устройств в виде древовидного формата. Это удобный и простой способ посмотреть диски.

sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 529M 0 part
├─sda2 8:2 0 100M 0 part /boot/efi
├─sda3 8:3 0 16M 0 part
├─sda4 8:4 0 165.8G 0 part
├─sda5 8:5 0 70G 0 part /
└─sda6 8:6 0 2G 0 part [SWAP]
zram0 252:0 0 8G 0 disk [SWAP]

2. df -h

Команда df используется для просмотра объема доступного дискового пространства. Так же команда df отобразит имя устройства, общее количество блоков, используемое дисковое пространство, доступное дисковое пространство, процент используемого пространства, точку монтирования файловой системы, а также покажет удаленно смонтированные файловые системы, такие как NFS.

Команда df -h покажет доступное пространство всех дисков в удобочитаемом виде.

Ответ в терминале:

Filesystem Size Used Avail Use% Mounted on
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 90M 5.7G 2% /dev/shm
tmpfs 2.4G 11M 2.4G 1% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sda5 69G 62G 3.1G 96% /
tmpfs 5.8G 4.7M 5.8G 1% /tmp
/dev/sda2 96M 41M 56M 43% /boot/efi
tmpfs 1.2G 200K 1.2G 1% /run/user/1000

3. fdisk -l

Для этого используется команда fdisk -l отобразит все доступные разделы диска

Ответ в терминале:


Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: SK hynix SC300B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4
Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data
/dev/sda5 349122560 495923199 146800640 70G Linux filesystem
/dev/sda6 495923200 500117503 4194304 2G Linux swap
Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 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 /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 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

4. parted -l

команда parted-l покажет расположение разделов дисков.

Ответ в терминале:

Model: ATA SK hynix SC300B (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 556MB 555MB ntfs Basic data partition hidden, diag
2 556MB 661MB 105MB fat32 EFI System Partition boot, esp
3 661MB 677MB 16.8MB Microsoft reserved partition msftres
4 677MB 179GB 178GB ntfs Basic data partition msftdata
5 179GB 254GB 75.2GB ext4
6 254GB 256GB 2147MB linux-swap(v1) swap
Model: Unknown (unknown)
Disk /dev/zram0: 8590MB
Sector size (logical/physical): 4096B/4096B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 8590MB 8590MB linux-swap(v1)

5. cfdisk

Cfdisk немного отличается от вышеприведенных команд, эта команда обеспечивает графическое представление в терминальном интерфейсе. С помощью cfdisk вы можете просматривать, создавать, удалять и изменять разделы.

Команда для просмотра дисков в Linux cfdisk

Команда для просмотра дисков в Linux cfdisk

6. sfdisk -l

Команда sfdisk -l покажет разделы каждого диска.

Ответ в терминале:

Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: SK hynix SC300B
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FF57C955-D98A-49C4-B1ED-835A44F2A0A4
Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 349122559 347799552 165.8G Microsoft basic data
/dev/sda5 349122560 495923199 146800640 70G Linux filesystem
/dev/sda6 495923200 500117503 4194304 2G Linux swap
Disk /dev/zram0: 8 GiB, 8589934592 bytes, 2097152 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 207.15 MiB, 217214976 bytes, 424248 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 /dev/loop1: 99.18 MiB, 103993344 bytes, 203112 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

7. ls -l /dev/disk/by-id

$ ls -l /dev/disk/by-id

Ответ в терминале:

total 0
lrwxrwxrwx 1 root root 9 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun 20 23:26 ata-SK_hynix_SC300B_HFS256G39MND-3510B_FI68N023911308NC9-part6 -> ../../sda6
lrwxrwxrwx 1 root root 9 Jun 20 23:26 wwn-0x5ace42e0900dd482 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Jun 20 23:26 wwn-0x5ace42e0900dd482-part6 -> ../../sda6

Вы также можете посмотреть:

  • by-label
  • by-partlabel
  • by-partuuid
  • by-path
  • by-uuid

8. lshw -class disk

Используйте -class disk для просмотра информации о диске.

Ответ в терминале:

*-disk
description: ATA Disk
product: SK hynix SC300B
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/sda
version: 0P00
serial: FI68N023911308NC9
size: 238GiB (256GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=ff57c955-d98a-49c4-b1ed-835a44f2a0a4 logicalsectorsize=512 sectorsize=4096

Кроме того, можно вывести class disk as-json или -html или-xml.

Ответ в терминале:

"id" : "disk",
"class" : "disk",
"claimed" : true,
"handle" : "GUID:ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
"description" : "ATA Disk",
"product" : "SK hynix SC300B",
"physid" : "0.0.0",
"businfo" : "scsi@1:0.0.0",
"logicalname" : "/dev/sda",
"dev" : "8:0",
"version" : "0P00",
"serial" : "FI68N023911308NC9",
"units" : "bytes",
"size" : 256060514304,
"configuration" : "ansiversion" : "5",
"guid" : "ff57c955-d98a-49c4-b1ed-835a44f2a0a4",
"logicalsectorsize" : "512",
"sectorsize" : "4096"
>,
"capabilities" : "gpt-1.00" : "GUID Partition Table version 1.00",
"partitioned" : "Partitioned disk",
"partitioned:gpt" : "GUID partition table"
>,
"children" : [
]
>

Заключение

В этой статье мы узнали, как посмотреть диски в Linux с помощью командной строки.

У меня есть машина с несколькими загрузочными разделами. У меня Ubuntu 14.04 на одном разделе, Ubuntu 15.04 на втором и Ubuntu 16.04 на третьем. Есть ли способ узнать из командной строки, из какого раздела, который я загрузил, чтобы найти вас на каком разделе /boot/grub/grub.cfg, который использовался для процесса загрузки? У меня есть /boot/grub/grub.cfg на каждом из трех разделов.

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

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

Ярлык (1): записи меню GNU GRUB ниже первой записи. Метка (2): версия GNU GRUB в верхней части меню загрузчика. Метка (3): GNU GRUB Фоновое изображение (требуется ручная настройка)

Самым очевидным намеком является метка (3), которая заключается в изменении фонового изображения GNU GRUB в системе, которая управляет меню загрузчика.

Где посмотреть

Искать раздел, который является перед , перечисленные в пунктах меню ниже первой записи. На скриншоте установлены только две операционные системы: «Ubuntu» и «Ubuntu 14.04.5 LTS».

Ubuntu Advanced options for Ubuntu Memory test (memtest86+) Memory test (memtest86+, serial console 115200) Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3) Advanced options for Ubuntu 14.04.5 LTS (14.04) (on /dev/sda3)

Последний упомянул (on /dev/sda3), что означает, что первое может быть расположено на /dev/sda2 или /dev/sda1. Разумеется, после загрузки системы, то есть «Ubuntu», выполните соответствующую команду для списка доступных разделов (lsblk представляется наиболее простым).

$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 13G 0 disk ├─sda1 8:1 0 976M 0 part [SWAP] ├─sda2 8:2 0 6G 0 part / └─sda3 8:3 0 6G 0 part sr0 11:0 1 55.7M 0 rom

Только после сравнения с выходом lsblk, то мы знаем, что система, т.е. «Ubuntu», находится в /dev/sda2 (которая не указана в записях меню), из которой управляется меню загрузчика.

Ярлык (2) объяснил

Ищите версию GRUB, которая напечатана в верхней части меню загрузчика. Обратите внимание на эту версию и сравнивайте ее с версией GRUB, которая находится на загруженной системе, то есть «Ubuntu».

На скриншоте (нижняя половина): GNU GRUB version 2.02

После загрузки системы т.е. «Ubuntu», запустить соответствующую команду для проверки версии пакета GRUB (grub-install --version является актуальным и наиболее простым).

$ grub-install --version grub-install (GRUB) 2.02

Как это имеет значение? Поскольку команды grub-install и update-grub оба предоставляются одним и тем же пакетом grub2-common. Учитывая, что меню загрузчика создано и обновлено с помощью инструментов из того же пакета, печатная версия в верхней части меню загрузчика будет одинаковой.

Ярлык (2) объяснил

Если в вашей системе установлен пакет desktop-base, такие фоновые изображения, которые сделаны специально для GRUB, легко найти с суффиксом имени файла *grub.jpg в целевой каталог

$ ls /usr/share/images/desktop-base/*grub.jpg /usr/share/images/desktop-base/desktop-grub.jpg /usr/share/images/desktop-base/joy-grub.jpg /usr/share/images/desktop-base/moreblue-orbit-grub.jpg /usr/share/images/desktop-base/spacefun-grub.jpg

Чтобы настроить фоновое изображение:

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

Отказ от ответственности

Этот ответ объясняет проверенные и проверенные критерии для системы BIOS с настройкой множественной загрузки с использованием версии GNU GRUB PC / BIOS. Следующие исключения будут применяться.

Для аналога системы UEFI, использующего версию GNU GRUB EFI, не гарантируется или неизвестно, будут ли критерии такими же, как описано выше. Акцент делается на внешний вид меню загрузчика (как он может выглядеть как, например, верхняя половина снимка экрана), а не демонстрировать, как работает цепочка. Таким образом, в отношении «того, как была настроена мультизагрузка, как показано на скриншоте», в этом ответе не будет объяснено. Если для нескольких загрузочных установок используются одни и те же копии аналогичной операционной системы, то есть Ubuntu 14.04, Kubuntu 14.04, Xubuntu 14.04 и т. Д., Тогда единственный надежный способ узнать, из какого раздела, который пользователь загрузил, является меткой (3). Ярлык (3) может работать лучше, используя пользовательский фоновый рисунок, который явно записывает, с которого он загружается, т. Е. «Это меню загрузки управляется из / dev / sda1». Аналогичным образом, в отношении «создания пользовательского фонового изображения для GRUB» в этом ответе не будет объяснено.

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


В Linux иногда требуется работать с дисками и / или разделами непосредственно из командной строки.

Часто вы действительно будете выполнять действия с файловыми системами, но вы жк делаете это, указывая разделы, в которых они хранятся, верно?

В командной строке вы обращаетесь к ним, используя имена их устройств (например, «/dev/sda3»).

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

Что делает команда lsblk?

lsblk отображает информацию об устройствах хранения.

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


В большинстве случаев команды lsblk без каких-либо дополнительных параметров достаточно для определения диска или раздела, с которым вы хотите работать.

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

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

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

Полезные параметры lsblk

По умолчанию lsblk отображает только несколько свойств, как вы увидели на картинке выше.

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

Это, в свою очередь, упрощает идентификацию искомого диска или раздела.

Как узнать, это SSD или жесткий диск (HDD) на Linux

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

В этом сценарии вы будете использовать ROTA и DISC-GRAN.

ROTA сообщает вам, принадлежит ли блочное устройство к устройству ротационного хранения.

Жесткие диски являются ротационными, поэтому столбец выводит «1» (двоичное логическое значение, означающее «true»).

DISC-GRAN показывает гранулярность сброса.

SSD поддерживают сброс, чтобы освободить неиспользуемые блоки данных.

Жесткие диски не поддерживают эту функцию, поскольку она им не нужны, поэтому в этом столбце для них будет отображаться нулевое значение («0B», что означает отказ от гранулярности нулевых байтов).


Показать файловые системы, хранящиеся на дисках / разделах

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

Если этого недостаточно, вы можете также создать выходные файловые системы lsblk.

Таким способом намного проще определить разделы, потому что:
  • Windows использует файловую систему NTFS
  • Linux обычно использует ext4
  • Устройство USB использует FAT, FAT32 (vfat) или NTFS
  • Загрузочный раздел EFI, как правило, очень маленький и содержит файловую систему vfat.

Кроме того, добавьте выходной столбец LABEL, который может помочь, если разделы были помечены при создании / форматировании.

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

как разбиваются жесткие диски и систему их разбиения как разбиваются жесткие диски и систему их разбиения

MBR Master Boot Record это первые 512 Байт диска, это не раздел, не партиция это участок места в начале жесткого диска, зарезервированный для загрузчика Операционной системы и таблицы разделов.

Когда компьютер включается BIOS производит тестовые процедуры. После чего, передает код управления начальному загрузчику, который как раз расположен в первых байтах MBR . Причем, какому жесткому диску передавать управление мы определяем самостоятельно в соответствующих настройках BIOS. MBR это очень важная часть нашего жесткого диска, потеря его чревата потерей данных с нашего жесткого диска или невозможностью загрузится. Поэтому ранее возникала потребность в резервном копировании данной части жесткого диска. Но это было достаточно давно.

В настоящее время большинство машин не использует BIOS, а использует UEFI это современная замена BIOS, которая более функциональнее и имеет больше плюсов. Нужно понимать, что UEFI это более защищенная загрузка и более скоростная, потому что позволяет инициализировать параллельно различные интерфейсы и различную последовательность команд. Так вот если у нас не BIOS, а UEFI, то HDD будет разбит не по принципу MBR, а по принципу GPT - GUID Partition table . Это другой формат размещения таблицы разделов. Это UEFI, а UEFI использует GPT там, где BIOS использует MBR. GPT для сохранения преемственности и работы старых операционных систем оставила в самом начали диска блок для MBR. Разница изначально между MBR и GPT, в том, что MBR использует адресацию типа цилиндр, головка, сектор, а GPT использует логические блоки, LBA0, LBA1, LBA2. А также для GPT необходимо понимать, что есть логическое дублирование оглавление таблицы разделов записано, как в начале, так и в конце диска. И в принципе для организации резервного копирования Linux в принципе ничего не предлагает. Но в случае если у нас MBR это необходимо делать.

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

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