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:
Přejít do Settings (nastavení) dané virtuální stanice:
Pod rubrikou Storage kliknout na Storage Devices Controller: SATA a ikonku HDD:
Pro příklad bude vytvořen nový virtual hard disk file type – VDI (Virtual disk Image) s kapacitou 10 GB:
Pod Not Attached se zobrazí virtual hard disk file type s příponou .vdi. Kliknout na Choose:
Nový virtual hard disk je přidán k virtuální stanici. Kliknout na OK:
Spustit virtuální stanici:
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