Filtered by tag linux disk Reset filter

Ein altes Gigabyte-Mainboard und die host protected area

31. October 2020, Falko - Linux, System

  • Lizenz: https://creativecommons.org/licenses/by-sa/3.0/ Quelle: https://en.wikipedia.org/wiki/BIOS_boot_partition#/media/File:GNU_GRUB_components.svg

Stell dir vor, du aktualisierst dein (Server-) System ... und dann lassen sich auf keiner Festplatte mehr Partitionen einhängen - außer vom System selbst.

Schreck lass nach: alle Daten weg?

Bei fdisk -l sieht das dann z.B. so aus:

 

Disk /dev/sdb: 2,75 TiB, 3000591900160 bytes, 5860531055 sectors
Disk model: Hitachi HUS72403
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1           1 4294967295 4294967295   2T ee GPT

 

gdisk findet die Partitionen noch, meldet aber Fehler mit der GPT:

 

~:# gdisk -l /dev/sdb
Main header: OK  
Backup header: ERROR
Main partition table: OK
Backup partition table: ERROR

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk /dev/sdb: 5860531055 sectors, 2.7 TiB
Model: Hitachi HUS72403
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): xxxxxxxxxxxxxxxxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      2147485695   1024.0 GiB  8300  
   2      2147485696      4294969343   1024.0 GiB  8300  
   3      4294969344      4303357951   4.0 GiB     8200  
   4      4303357952      5860533134   742.5 GiB   8300  

 

Erstmal suchen wir nach möglicherweise geänderten BIOS-Einstellungen, ohne Erfolg.

Die Logik sagt: da fehlt ein Stückchen am Ende der Festplatte,
Backup-Partitionstabelle und -Header scheinen daher weg zu sein.

Was war passiert: wir hatten die Vermutung, dass beim Update auf
Ubuntu 20.04 eine alte Einstellung wieder reaktiviert wurde,
die, solange Ubuntu 18.04 installiert war, keine Beachtung fand:
die Host Protection Area (HPA).

In einer Log-Datei von vor zwei Tagen - manchmal ist es ganz gut, seine
Aktionen mitzuschreiben - finden wir die bisherigen Sektorgrößen der
Festplatten wieder:

 

root@server:~# grep TiB logs/sicherung.txt
Disk /dev/sdb: 3,7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdc: 2,7 TiB, 3000592982016 bytes, 5860533168 sectors

root@server:~# hdparm -N /dev/sdb
/dev/sdb:
 max sectors   = 5860531055/5860533168, HPA is enabled

root@server:~# hdparm -N /dev/sdc
/dev/sdc:
 max sectors   = 7814035055/7814037168, HPA is enabled

 

Die Vermutung bestätigt sich durch Aufruf von hdparm: die erste Zahl
ist geringfügig kleiner (2113 bytes) als die eigentliche Festplattengröße.

Weitere Informationen zu HPA finden sich im Thomas-Krenn-Wiki sowie bei Wikipedia

Das System ist offensichtlich so eingestellt, dass die HPA nicht ignoriert wird:

 

~:# cat /sys/module/libata/parameters/ignore_hpa
0

 

Wir testen das Gegenteil der bei Thomas Krenn erwähnte Lösung, indem wir dem Kernel beim Booten (in /etc/default/grub)
einen neuen Parameter mitgeben:

 

libata.ignore_hpa=1

 

Was letztlich die "Erlösung" bringt: alle Daten-Partitionen sind wieder da und können
auch - als wäre nix gewesen - wie immer eingehangen werden.

Unklar bleibt, wieso das passiert ist - und ob es wirklich mit dem Upgrade auf Ubuntu 20.04 zusammenhängt. Zeit für's Feierabend-Bier ...

Update: es scheint ehr mit dem Versuch, von der falschen Festplatte zu booten, zusammen zu hängen - siehe https://superuser.com/questions/1282451/sudden-decrease-of-hard-drive-sectors

 

"... if you are using a Gigabyte motherboard manufactured before 2010 then you should definitely check to see 
if you have HPA on any of your drives.  Also, it is definitely possible to have an HPA from a previous motherboard.  
If a drive has at any point in time been used with one of these HPA-inducing boards, then there's a good chance 
that it still has a vestigial HPA, even if it has been formatted since."

 

PS: du kennst das Problem auch - und hast eine Erklärung? Schreib uns gern in den Kommentaren dazu.

PPS: Die GUID-Partition-Table wird hier gut erklärt. Quelle für das Aufmacher-Bild.