Hallo Zusammen,
Hinweis:
Das Projekt wurde mit os-prober-efi zusammengelegt, da es ebenfalls Grundlage der dortigen Auswertungen ist. Siehe auch den Artikel in der Baustelle os-prober-efi dazu.
lsdisk ist ein Shellskript, bei dem ich auf spezielle Bash-Build-Ins verzichtet habe und dadurch auch unter anderen Shells ablauffähig ist (getestet: bash,dash,zsh,ksh,csh).
Es listet defaultmäßig die Informationen zu Festplatten/Wechseldatenträgern auf, ohne dabei Rootrechte zu benötigen (ähnlich einem fdisk -lu). Voraussetzung ist ein Kernel ab 2.6.32 mit dem virt. Filesystem sysfs, also ab Lucid. Ausgewertet werden dabei die Informationen, wie das System die Platten erkannt hat. Es können alle (lt. /proc/partitions) oder auch selektive Datenträger ausgewertet werden.
Es erstellt 3 Listarten. Die Listüberschrift beinhaltet u.a. die Ubuntu-Version (sofern lsb-release vorhanden), den Namen des OS (uname -o) sowie den Maschinentyp (uname -r) und zusätzlich das Bootimage mit den Bootoptionen (/proc/cmdline).
Liste der Platten und Partitionen mit Start-/Ende-Sektoren, Größe in Sektoren und Bytes (nach SI- und IEC-Norm), Label, UUID und sofern "gemounted" das Filesystem und der Mountpunkt. Wird diese Listform mit root angefordert, so werden noch der Name der Patitionstabelle gelistet sowie bei erweiterten Partitionseinträgen die eindeutige ID 05 angezeigt.
Unter root kann auch parted bzw. fdisk/gdisk (ja nach Tabelle) zur Auflistung aufgerufen werden.
Unter root können die Inhalte der Partitionstabellen (MPT oder GPT) in lesbarer Form auflistet werden.
In der Hoffnung, dass das Teil hilfreich sein kann habe ich es seit gestern bei sourceforge gehostet.
Das Skript ist sicherlich nicht perfekt, aber es erfüllt z.Zt. seine Aufgabe und darum übergeb ich den Kommentarbereich mal an Euch 😉
Muster:
lsdisk
lsdisk - 0.15 System: Ubuntu 10.04.4 LTS GNU/Linux x86_64 Options: -l sda sdb sdc sdd sde BIOS-loaded BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash Disk: /dev/sda (4) Model: ATA__WDC_WD1600AABB-0 Disk size: 312581808 sectors (149.0GiB/160.0GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sda1: 63 8385929 8385867 ( 3.9GiB/ 4.2GB) swap partition 28ab1d88-b05b-40ab-8352-3c21e78465c7 /dev/sda4: 8385930 8385931 2 ( 1024B/ 1024B) /dev/sda5: 112583583 312576704 199993122 ( 95.3GiB/ 102.3GB) ext3 /media/CargoBay CargoBay 5339e963-71a9-4e60-aee5-63f1122f9f9a /dev/sda6: 11004588 112583519 101578932 ( 48.4GiB/ 52.0GB) ext3 /media/ShuttleBay ShuttleBay 6ae8cc9e-27fa-4e39-831a-973fc02819c0 Disk: /dev/sdb (3) Model: ATA__WDC_WD3200AAKS-2 Disk size: 625142448 sectors (298.0GiB/320.0GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sdb1: 63 64 2 ( 1024B/ 1024B) /dev/sdb5: 60806088 625137344 564331257 ( 269.0GiB/ 288.9GB) ext3 /media/MessHall MessHall 0f8ad5b2-381d-4a79-9c47-d3cefb83bf32 /dev/sdb6: 126 60806024 60805899 ( 28.9GiB/ 31.1GB) ext4 /media/Cargo14 Cargo14 4e7beaec-1991-446d-86b7-25433c0237d8 Disk: /dev/sdc (3) Model: ATA__MAXTOR_STM380215 Disk size: 156301488 sectors (74.5GiB/80.0GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sdc1: 63 20964824 20964762 ( 9.9GiB/ 10.7GB) ext4 / 1847456f-c740-48ac-bff9-198f2591c90c /dev/sdc2: 20964825 63890504 42925680 ( 20.4GiB/ 21.9GB) ext4 /home Home 69979c60-4739-4a50-aac2-f74654478544 /dev/sdc3: 72404955 156296384 83891430 ( 40.0GiB/ 42.9GB) ext4 /media/Cargo40 Cargo40 dd3f1c8b-45b7-4c48-ac10-155321b95b7f Disk: /dev/sdd (1) Model: SanDisk__U3_Cruzer_Micro_ Disk size: 7913471 sectors (3.7GiB/4.0GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sdd1: 34 7913437 7913404 ( 3.7GiB/ 4.0GB) SANDISK 96E0-1B97 Disk: /dev/sde (1) Model: __________________ Disk size: 7613559 sectors (3.6GiB/3.8GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sde1: 63 7598744 7598682 ( 3.6GiB/ 3.8GB) PARADIES EB42-CE35
Anmerkung zu den Titelzeilen:
System: Ubuntu 10.04.4 LTS GNU/Linux x86_64
Werte aus lsb_release und uname
BIOS-loaded
Anzeige wie das System gestarted wurde: BIOS-loaded oder EFI-loaded
Die Ergänzung (EFI), z.B. bei BIOS-loaded(EFI) ist der Hinweis auf ein EFI-fähiges Board (dmidecode) und erscheint nur mit Rootrechten.
BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash
Der Startaufruf lt. /proc/cmdline
Anmerkung zu den Partitionszeilen:
Ein Hinweis auf die genutzte Partitionstabelle erscheint nur mit Rootrechten (partprobe).
Der eindeutige Hinweis auf erweiterte Partitionen, hier sda4, (ID=05: extended) nur mit Rootrechten (hexdump).
lsdisk sde
lsdisk - 0.15 System: Ubuntu 10.04.4 LTS GNU/Linux x86_64 Options: -l sde BIOS-loaded BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash Disk: /dev/sde (1) Model: __________________ Disk size: 7613559 sectors (3.6GiB/3.8GB) Logical/physical sector size: 512 B/512 B Device Start End Size FS Mount Label UUID /dev/sde1: 63 7598744 7598682 ( 3.6GiB/ 3.8GB) PARADIES EB42-CE35
Partitionstabellen:
sudo lsdisk -A
lsdisk - 0.15 System: Ubuntu 10.04.4 LTS GNU/Linux x86_64 Options: -A BIOS-loaded(EFI) BOOT_IMAGE=/boot/vmlinuz-2.6.32-41-generic root=UUID=1847456f-c740-48ac-bff9-198f2591c90c ro quiet splash * Boot ID Start-CHS ID End-CHS LBA1 LBA2 * /dev/sda msdos 7c3c 00 1 1 0 82 254 191 9 63 8385867 * 00 0 0 0 00 0 0 0 0 0 * 00 0 0 0 00 0 0 0 0 0 * 80 0 129 10 05 254 255 255 8385930 304190775 * /dev/sda1 msdos 0000 00 254 255 255 83 254 255 255 112583520 199993122 * 00 0 129 173 05 254 255 255 11004462 101578995 * /dev/sda4 msdos 12cf 00 254 255 255 83 254 255 255 104197653 199993122 * 00 0 129 173 05 254 255 255 2618595 101578995 * /dev/sda5 msdos 0000 00 0 0 0 00 0 0 0 0 0 * 00 0 0 0 00 0 0 0 0 0 * /dev/sda6 msdos 0000 00 0 0 0 00 0 0 0 0 0 * 00 0 0 0 00 0 0 0 0 0 * Disk: /dev/sde Size: 7913471 P-Table: gpt/ee first/last usable: 34/7913437 Entries max./size: 128/128 GUID: 1155189E-BCE5-4F31-84D9-C37168EA4434 * Signature Size Position Current/Backup Entries-Start Header-CRC Part.-CRC Revision Reserve * primary : EFI PART 92 1 7913470 2 c73d392d acce2e37 00000100 00000000 * secondary: EFI PART 92 7913470 1 7913438 79dd7c81 acce2e37 00000100 00000000 * GUID Start-LBA End-LBA Attribute values * unique GUID Partition name (16) (32) (48) (64) * /dev/sde1 gpt/ee EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 34 7913437 8003 000f 0000 1000 * 89A43D96-E72A-4C69-A308-BE4AC3652754 Microsoft basic data
Testen:¶
Zum testen das aktuelle Archiv von sourceforge ⮷ nach /tmp herunterladen und entpacken - hier die Version 0.15.tar.gz
cd /tmp tar -xzf lsdisk-0.15.tar.gz
Ins Unterverzeichnis der enstp. Version wechseln - hier Version 0.15
cd lsdisk-0.15
Das Skript aufrufen
sh ./lsdisk
Um z.B. eine Partitionstabellen-Analyse zu erstellen mit Rootrechtenn
sudo sh ./lsdisk -A
Installieren:¶
Soll das Skript ins System installiert werden, dann kann man dies mit einem:
sudo ./install.sh
Ab sofort ist das Programm dann über lsdisk oder sudo lsdisk aufrufbar.
Saludos de Chile
RapaNui