Virtualbox – Jak přidat HDD v Linuxu

By | 26/10/2023

Last Updated on 10/12/2023 by administrator

Virtualbox – Jak přidat HDD v Linuxu

Virtualbox – Jak přidat HDD v Linuxu

Motivace:

Článek popisuje, jak přidat nový HDD pro Linux OS v rámci Virtualboxu.

OS:

Implementace byla prováděna na virtuálním stroji Ubuntu 22.04 pod VirtualBoxem 7.0.10.

Implementace:

Nejdříve je nutné vypnout virtuální stanici ve VirtualBox manageru:

virtualbox - vypnutí virtualní stanice

Přejít do Settings (nastavení) dané virtuální stanice:

virtualbox settings

Pod rubrikou Storage kliknout na Storage Devices Controller: SATA a ikonku HDD:

Virtualbox - Jak přidat HDD

Pro příklad bude vytvořen nový virtual hard disk file type – VDI (Virtual disk Image) s kapacitou 10 GB:

Virtualbox - Jak přidat HDD

Virtualbox - Jak přidat HDD

Virtualbox - Jak přidat HDD

Virtualbox - Jak přidat HDD

Pod Not Attached se zobrazí virtual hard disk file type s příponou .vdi. Kliknout na Choose:

Virtualbox - Jak přidat HDD

Nový virtual hard disk je přidán k virtuální stanici. Kliknout na OK:

Virtualbox - Jak přidat HDD

Spustit virtuální stanici:

Virtualbox - zapnutí virtuální stanice

Otevřít terminál a spustit příkaz sudo fdisk -l, který najde příslušný HDD a jméno oddílu (partition). Parametr “l” provede List the partition tables, což vypíše tabulky oddílu:

sudo fdisk -l

Výpis příkazu sudo fdisk -l ukazuje, že byl nalezen nový HDD /dev/sdb, nicméně jeho oddíly (partitions) zatím neexistují (není zde zatím žádný /dev/sdb1).

Disk /dev/loop0: 63.46 MiB, 66547712 bytes, 129976 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: 49.84 MiB, 52260864 bytes, 102072 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/loop2: 111.95 MiB, 117387264 bytes, 229272 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/loop3: 63.28 MiB, 66355200 bytes, 129600 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/sda: 35 GiB, 37580963840 bytes, 73400320 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B179875F-99AA-4D86-BDC9-0784A8689113

Device       Start      End  Sectors Size Type
/dev/sda1     2048     4095     2048   1M BIOS boot
/dev/sda2     4096  4198399  4194304   2G Linux filesystem
/dev/sda3  4198400 73398271 69199872  33G Linux filesystem


Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Pro vytvoření nového oddílu (partitions) na HDD /dev/sdb, lze použít fdisk utilitku:

fdisk /dev/sdb

Příkazem m spustíme nápovědu:

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x9b055816.

Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table

Nyní je potřeba vytvořit nový oddíl (partition) – parametr n. Bude vytvořen primární oddíl (partition) – parametr p:

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p

Je nutné určit, kde bude oddíl (partition) začínat. Protože se jedná o první oddíl (partition) jako partition number bude zvolena 1, Tento oddíl (partition) bude začínat od prvního dostupného sektoru (což je v tomto případě 2048) a protože bude použitý celý disk, použije poslední dostupný sektor (což je v tomto případě 20971519):

Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): <ENTER>
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): <ENTER>

Created a new partition 1 of type 'Linux' and of size 10 GiB.

Po určení oddílu (partition) je nutné potvrdit změny pomocí parametru w:

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Nový oddíl /dev/sdb1 na novém disku /dev/sdb lze vypsat pomocí příkazu:

sudo fdisk -l /dev/sdb

Pozn. Jelikož nový oddíl /dev/sdb1 ještě nemá souborový systém (file system), nelze ho vidět pod příkazem df -h.

Posledním bodem je tedy vytvoření souborového systému (file system) ext4 na novém oddílu /dev/sdb1:

/sbin/mkfs.ext4 /dev/sdb1

Výstup příkazu /sbin/mkfs.ext4 /dev/sdb1 ukazuje úspěšné vytvoření souborového systému (file system):

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2621184 4k blocks and 655360 inodes
Filesystem UUID: 2c7592c0-da1a-4a96-ab55-b5e1b5fcda16
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Aby byl disk přístupný je nutné jej připojit (mount). Před použitím příkazu mount je potřeba vytvořit bod připojení. Přípojný bod může být jakýkoli nový nebo existující adresář. Pomocí příkazu mkdir se vytvoří nový adresář bodu připojení, kde bude připojený oddíl (partition) /dev/sdb1 nového disku /dev/sdb:

sudo mkdir /mnt/new_hdd

Nyní bude pomocí příkazu mount připojen oddíl (partition) /dev/sdb1 do složky /mnt/new_hdd. Příkaz by měl byt stejný jako pro souborovým systém FAT32 tak NTFS.

mount /dev/sdb1 /mnt/new_hdd

Příkazem níže se zkontroluje, zda byl oddíl (partition) správně připojen:

mount | grep sdb1

Příkaz mount | grep sdb1 by měl ukázat podobný výstup jako níže. Pokud výše uvedený příkaz mount nevygeneruje žádný výstup, oddíl (partition) není připojen:

/dev/sdb1 on /mnt/new_hdd type ext4 (rw,relatime)

Nový oddíl (partition) lze vidět i pod výstupem df -h příkazu:

df -h

Výstup df -h příkazu se zobrazením nového oddílu (partition) /dev/sdb1 i cesty bodu připojení (mount):

Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              794M  1.1M  793M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   17G  3.0G   13G  20% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  129M  1.7G   8% /boot
tmpfs                              794M  4.0K  794M   1% /run/user/1000
/dev/sdb1                          9.8G   24K  9.3G   1% /mnt/new_hdd

Pro přístup k datum na oddílu (partition) /dev/sdb1 nového HDD přejít do /mnt/new_hdd složky:

cd /mnt/new_hdd

Hotovo!

Zdroj:

[1] https://www.tutorialspoint.com/how-to-add-disk-storage-to-oracle-virtual-box-on-linux

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *