Harde schijf in gebruik nemen (Linux)
Het lijkt nogal recht-toe-recht-aan te zijn, om een nieuwe schijf of SSD in gebruik te nemen. In de praktijk wil het wel eens tegenvallen. Dit artikel heeft betrekking op zowel interne primaire schijven of SSD's als op externe schijven/SSD's.
Grote plaatje
Tegenwoordig (zomer 2020) configureer ik schijven/SSD's inclusief GPT, GRUB en UEFI
Procedure
Dit lijkt de hele procedure te zijn:
- Partitioneren: Bv. met
fdisk
- Formatteer partities: Bv. met
mkfs
- Label partities: Bv. met
e2label
Voor externe devices, doorloop ik deze stappen expliciet. Tijdens de installatie van een OS, gebeurt dit vooral impliciet.
Tools & concepten
- Disks [1]
- GParted: Grafisch front-end voor Parted, voor bewerken van schijven en file systems. Het is opgenomen in oa. SystemRescueCd [2]
- GPT: Standaard voor partion tables en opvolger MBR: De GUID Partition Table (GPT) bevat informatie over partities op een device middels globally unique identifies (GUID's) en is onderdeel van de UEFI-standaard [3]
- GRUB: Boot loader: Een soort micro-OS dat zorgt dat je je juiste OS laadt, en opvolger van LILO. GRUB kan vooral goed overweg met multiboot- en multidisk-systemen. GRUB staat los van enig operating system. Meestal bevindt GRUB zich in de Linux-partitie, in /boot/grub en /etc/grub
- MBR: Master Boot Record is een boot sector op een harde schijf of SSD. Deze bevat informatie over partities, plus uitvoerbare code om operating systems te kunnen laden vanaf deze partities. MBR is opgevolgd door GUID Partition Table (GPT). Voor de uitvoerbare code (machine-coode), is er 434 tot 446 bytes beschikbaar. Meestal is dit te weinig voor een fatsoenlijke bootloader en daarom verwijst deze code meestal naar andere locaties op de harde schijf waar zich de eigenlijke boatloader bevindt: Lege ruimte tussen partities in, of partition boot sectors
- Parted: Commandline-utility voor het bewerken van schijven en file systems. Aka. GNU Parted. GParted is hetzelfde, maar dan met een grafische interface
- UEFI: Opvolger van BIOS: Softwarelaag tussen hardware en OS. UEFI kan doorgaans overweg met MBR- en GPT-harde schijven.
Casus: Nieuwe externe USB-schijf (feb. 2020)
Hoera! Een nieuwe USB-harde schijf die ik ga gebruiken als backup. Het is een 'traditionele' harde schijf, met echte harde schijven. Het kostte me de nodige moeite om een betrouwbare en actuele bron te vinden voor dit klusje. Het is deze tutorial van DigitalOcean.com geworden:
Schijf & filesysteem identificeren
df -TH
[4] geeft
/dev/sdb2 fuseblk 5,5T 281M 5,5T 1% /media/strompf/Seagate Expansion Drive
fdisk sudo fdisk -l
geeft voor dit device (sdb
):
Disk /dev/sdb: 5,5 TiB, 6001175125504 bytes, 11721045167 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 33553920 bytes Disklabel type: gpt Disk identifier: AFA37668-E7A1-488A-BF85-FE751F3572E6 Device Start End Sectors Size Type /dev/sdb1 34 262177 262144 128M Microsoft reserved /dev/sdb2 264192 11721043967 11720779776 5,5T Microsoft basic data Partition 1 does not start on physical sector boundary.
sudo parted -l
geeft:
Model: Seagate Expansion Desk (scsi) Disk /dev/sdb: 6001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17,4kB 134MB 134MB Microsoft reserved partition msftres 2 135MB 6001GB 6001GB ntfs Basic data partition msftdata
Unmount
Je moet een gemounte schijf eerst unmounten, voor je 'm kunt formatteren. Dit deed ik in Nautilus. Het kan uiteraard ook in Bash [5].
Bepaal partition standard
Je hebt blijkbaar twee standaarden: GPT en MBR. Ik kies deze eerste:
sudo parted /dev/sdb mklabel gpt
Dit commando is binnen een seconde klaar.
Creëer partition
Maak een partitie aan, die de hele schijf beslaat:
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 100%
Creëer filesystem
Dit commando was binnen een seconde klaar:
sudo mkfs.ext4 /dev/sdb
sudo parted -l
geeft nu:
Model: Seagate Expansion Desk (scsi) Disk /dev/sdb: 6001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 33,6MB 6001GB 6001GB primary
en lsblk
geeft nu:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 5,5T 0 disk └─sdb1 8:17 0 5,5T 0 part sda 8:0 0 931,5G 0 disk ├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 16G 0 part [SWAP] └─sda1 8:1 0 915,6G 0 part /
Maak bestandssysteem aan in deze partitie
Bestandssystemen defineer je op partities, niet op schijven. Dit was binnen een seconde klaar:
sudo mkfs.ext4 -L bu03 /dev/sdb1 mke2fs 1.42.13 (17-May-2015) /dev/sdb1 alignment is offset by 512 bytes. This may result in very poor performance, (re)-partitioning suggested. Creating filesystem with 1465116843 4k blocks and 183140352 inodes Filesystem UUID: 96998dda-c533-49d2-ab2a-8dea6b95f34f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Nieuwe situatie:
lsblk --fs NAME FSTYPE LABEL UUID MOUNTPOINT sdb └─sdb1 ext4 bu03 96998dda-c533-49d2-ab2a-8dea6b95f34f sda ├─sda2 ├─sda5 swap 770b0c79-cbec-48dd-aa7b-5f89b1817a16 [SWAP] └─sda1 ext4 7a6b8cd3-d38a-4c25-b875-27a93dfdc86c /
Na mounten in Nautilus:
lsblk --fs NAME FSTYPE LABEL UUID MOUNTPOINT sdb └─sdb1 ext4 bu03 96998dda-c533-49d2-ab2a-8dea6b95f34f /media/strompf/bu03 sda ├─sda2 ├─sda5 swap 770b0c79-cbec-48dd-aa7b-5f89b1817a16 [SWAP] └─sda1 ext4 7a6b8cd3-d38a-4c25-b875-27a93dfdc86c /
Zie ook
Bronnen
- https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux
- https://www.techwalla.com/articles/how-to-format-a-hard-drive-in-linux
- https://en.wikipedia.org/wiki/GParted
- https://en.wikipedia.org/wiki/GNOME_Disks
- https://superuser.com/questions/1164867/formatting-a-new-disk-and-mbr
- https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
- https://en.wikipedia.org/wiki/GUID_Partition_Table
- https://www.linuxjournal.com/article/4622