Дискови дялове  

 

1.       Въведение

2.     Управление на дисковете през графичния интерфейс. 1

3.       Имена на дискове и дялове. 1

4.       Проверка на таблицата на дяловете. 1

5.       Команда fdisk. 1

6.       Създаване нов дял. 1

7.       Смяна на типа на дяла. 1

8.       Създаване на файлова система с mkfs

9       Включване на USB диск във виртуална машина. 1

 

 

     1.     Въведение

Дисковото пространство включва различни дискови устройства. В повечето случай големите дискове, се разделят на дялове (partitions). Всеки от дяловете съдържа различна индивидуална файлова система. В зависимост от начина на разделянето им дисковете биват различни видове (имат различни дискови етикети - disk labels). За PC най-често се използва MBR(Master Boot Record), но напоследък навлиза нов стандарт GPT(Globally unique identifiers Partition Table).  Macintosh използва APM (Apple Partition Map), a BSD базираните системи използват BSD disklabel.

MBR е въведен от IBM през 1983. Базира се на специален зареждащ сектор - MBR разположен в началото на диска. Този сектор съдържа зареждача за инсталираната операционна система и информация относно логическите дискове дялове. Той съдържа малка програма, която зарежда друг " boot loader " намиращ се на друг дисков дял. При Linux  GRUB boot loader се намира в  MBR

 MBR работи с дискове с максимална големина 2 TB. Той поддържа до 4 основни дяла( primary partitions). Ако са необходими повече то един от тях трябва да бъде направен разширен дял ("extended partition") и вътре в него да бъдат създадени логически дялове. Разширените дялове имат собствена таблица на дяловете за включените в тях логически дялове.

GPT е новият стандарт, свързан с UEFI - Unified Extensible Firmware Interface (вместо BIOS). Всеки дял при него има уникален глобален идентификатор (globally unique identifier,” или GUID)- достатъчно дълъг случайно генериран низ от символи.

GPT може да работи с много големи дискове, броят и размерът на дяловете се ограничава от използваната операционна система.

 2.     Управление на дисковете през графичния интерфейс 

Дяловете на дисковете могат да се видят и проверят с  графичната програма  Disks.

Activities  ->  Disks

     3.     Имена на дискове и дялове (partitions)

Файловете на устройствата за  IDE твърди дискове са  /dev/hda до /dev/hdd

·        hda и hdb са дискове закачени на първия IDE канал,  hdc и hdd - на втория;

·        Първият диск на всеки канал е  IDE ‘master’, а вторият - IDE ‘slave’.

В Unified file system на Unix/Linux може да се включват дискови дялове (а не цели дискове). Това означава, че всеки диск трябва да има  поне един дисков дял (partition). За да се ползва дисковият дял, той трябва да се инициализира с някакъв тип индивидуална файлова система (форматиране), след което може да се монтира в свободна директория на   Unified file system.

Дяловете могат да бъдат 

    основни (primary)- ограничен брой до 4, които могат да се използват за boot. Когато те са недостатъчни, се използват логически 

    разширен (extended) - възможен е един единствен за един диск. Не може да съхрахява данни, Съхранява  създадените логически partitions ;

    логически - могат да се използват за съхранение на данни.

Основните дялове са номерирани от 1 до 4 - /dev/hda1, /dev/hda2...

Логическите дялове са номерирани от 5 нагоре.

Устройствата /dev/hda, … се отнасят за целия диск, не за дял

SCSI дисковете са   /dev/sda, /dev/sdb, …, а съответните partitions са   /dev/sda1,  /dev/sda2, ...

CD/DVD са  с имена sr0, sr1 , ....

Какви дискове и CD/DVD са включени в системата може да се провери с командата за блокови устройства

$ lsblk |egrep "sr|hd|sd"

da      8:0    0  31.3G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0  30.8G  0 part /
sr0     11:0    1  59.5M  0 rom  /media/imom/VBox_GAs_6.1.32
$

А какви блокови устройства са на разположение в директорията /dev може да се види с:

$ls /dev |egrep "sd|hd|sr"
sda
sda1
sda2
sda5
sr0

Ако се включи USB твърд диск или флашка в  система на която Linux не е във виртуална машина, автоматично в директорията /dev се появява съответното устройство със съответните partitions. Ако е имало само sda, то се появява sdb заедно с поне един дял - sdb1.За работна станция се монтира автоматично в Unified file system, обикновено в директория /media/user_name/. За сървър трябва да се монтира ръчно.

За guest  Linux процедурата е по-сложна и е описана по-долу.

     4.     Проверка на таблицата на дяловете

Каква таблица на partitions се ползва за SCSI  диск може да се провери с команда:

$sudo gdisk -l /dev/sda

Обърнете внимание на опцията -l (list)!

Примерна реакция при MBR таблица:

GPT fdisk (gdisk) version 1.0.1

 

Partition table scan:

  MBR: MBR only

  BSD: not present

  APM: not present

  GPT: not present

 

 

***************************************************************

Found invalid GPT and valid MBR; converting MBR to GPT format

in memory.

***************************************************************

 

Disk /dev/sda: 1953525168 sectors, 931.5 GiB

Logical sector size: 512 bytes

Disk identifier (GUID): 73EEB59F-99E7-4A53-AB7A-DE7A5671AB64

Partition table holds up to 128 entries

First usable sector is 34, last usable sector is 1953525134

Partitions will be aligned on 2048-sector boundaries

Total free space is 5485 sectors (2.7 MiB)

 

Number  Start (sector)    End (sector)  Size       Code  Name

   1            2048          497663   242.0 MiB   8300  Linux filesystem

   2          497664       781748223   372.5 GiB   8300  Linux filesystem

   5      1922275328      1953523711   14.9 GiB    8200  Linux swap

   6       781750272      1922275327   543.8 GiB   8300  Linux filesystem


Командата gdisk се използва за създаване, изтриване и промяна на дискови дялове основно при  GPT таблица, но може да се използва и при MBR. Командата трябва да бъде използвана за дискове с обем >2GB.

Добро описание на възможностите на gdisk може да се види с :

$ man 8 gdisk

     5.     Команда fdisk

Команда fdisk се използва за създаване, изтриване и промяна на дискови дялове при  MBR таблица, но може да се използва и за GPT таблица.  Може да се използваза дискове с обем  <2GB

·        Задава се името на диска с който ще се работи например:

$ sudo fdisk /dev/sda

·        fdisk работи с еднобуквени команди от потребителя

o   m за списък от командите

o   p за показване на дисковите дялове

o   q за завършване работата без да се променя нищо

o   w за завършване на работата и запис на промените

o   използвайте внимателно и трикратно проверявайте какво правите! Всяка промяна в дисков дял може да доведе до пълна загуба на информацията

Добро описание на възможностите на fdisk може да се види с :

$ man fdisk

     6.     Създаване нов дял с fdisk

Нов дял се създава с команда n

·        Изберете дали искате да създавате основен (primary), разширен (extended) или логически дял

·        Изберете номер на дяла

fdisk пита за начало и край на дяла.

·        Подразбиращите се стойности правят дяла максимално голям

·        Желаният размер може да се специфицира в мегабайти например : +250M

Промените в таблицата на дяловете се записват само след командата  w

     7.     Смяна на типа на дяла

Всеки дял има код на типа, които е цяло число

Командата  l извежда списък на известните типове

Командата t сменя типа на съществуващ дял

Linux дяловете са обикновено от тип  ‘Linux native’ (тип 83)

Други операционни системи могат да използват различни типове много от които се разбират от  Linux

     8.     Създаване на файлова система с mkfs

Командата mkfs инициализира (форматира) файлова система в нов дял

·        Внимание! Ще се загубят всички данни върху дяла

·        Например за да се създаде файлова система ext3 върху дял  /dev/sda2:

$sudo mkfs -t ext3 -c /dev/sda2

·        -t задава типа на файловата система, а  -c проверява за лоши блокове върху диска

·        За видовете файлови системи под Linux  може да прочетете тук

mkfs използва други програми за инициализиране на специфични типове файлови системи като mke2fs и mkdosfs

 

9.     Включване на USB диск във виртуална машина

При инсталирането си VirtualBox поддържа само стандарта USB 1.x .  За да работи със стандартите USB 2.0 и USB 3.0 трябва да бъде инсталиран extension pack със същата версия както VirtualBox.

Направете Shut down на guest OS.

Проверете версията на VirtualBox :  Help > About VirtualBox     (например 6.1.32).

Отидете на https://download.virtualbox.org/virtualbox/      и влезте в директорията с подходящата версия.

Свалете extension pack - файловете със разширение .vbox-extpack    .

Index of /virtualbox/6.1.32

      Name                                                                  Last modified      Size
... 10-Feb-2022 11:12 1.9K
Oracle_VM_VirtualBox_Extension_Pack-6.1.32-149290.vbox-extpack 13-Jan-2022 22:31 11M
Oracle_VM_VirtualBox_Extension_Pack-6.1.32.vbox-extpack 13-Jan-2022 22:31 11M
...

Във VirtualBox  File > Preferences > Extensions  добавете extension pack и инсталирайте  (От версия 7.0  Extensions е преместена в Tools )

Стартирайте Ubuntu, и влезте в CLI. Добавете потребителя в групата на VBox users: $sudo adduser user_name vboxsf

shutdown Ubuntu

включете USB устройството в порта

При изключена машина - Machine -> Settings -> USB изберете стандарт на USB и добавете нов USB филтър (устройството което трябва да се вижда във виртуалната машина). Списъкът на възможните устройства се променя  при включване на ново устрйство в порта.

Стартирайте виртуалната машина и log in

On  devices > USB    chec in  за монтиране

$ lsblk |egrep "sr|hd|sd"
sda      8:0    0  31.3G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0  30.8G  0 part /
sdb      8:16   1 480.4M  0 disk
└─sdb1   8:17   1 480.4M  0 part /media/imom/6414-3578
sr0     11:0    1  59.5M  0 rom  /media/imom/VBox_GAs_6.1.32
$

    или check-out  за демонтиране

   Когато процедурата е направена и съответното  devices > USB   е  chec in, при включване на USB устройството в порта то автоматично се монтира в guest операционната система и остава недостъпно за host ОС.