uuid partizioni

blkid
oppure
sudo tune2fs -l /dev/<partizione>
oppure
ls -lah /dev/disk/by-uuid/

link

Couldn’t mount because unsupported optional features (40)

Questo messaggio:

\dev\sdaX Couldn’t mount because unsupported optional features (40)”

mi è apparso cambiando la root in ext4 (vedi articolo precedente). Non blocca l’avvio del sistema e le partizioni vengono comunque montate, ma visto che non è il massimo da vedere ho cercato su google e in pratica ho capito che viene visualizzato quando il kernel cerca prima di montare la partizione usando il driver per ext3, qui compare quel messaggio, e poi la monta correttamente usando i driver appunto per ext4.

Ho quindi ricompilato il kernel (uso sempre quello dev) settando l’ext4 come statico e togliendo il resto (ext2,3,reiserfs,jfs ecc ecc tranne vfat) ma al riavvio è comparso questo errore di grub:

invalid or unsupported executable format

risolto con (avviando da un altro kernel o usando sysrescuecd):

grub-install --recheck /dev/sda

come riportato sulla ArchWiki. (l’avessi letta prima evitavo di ricompilarmi il kernel 3 volte..)

Convertire ext3 in ext4

Stamattina finalmente mi sono deciso a fare la conversione.

Le caratteristiche del nuovo filesystem potete trovarle qui, ne elenco alcune:

  • Extent
  • Preallocazione persistente
  • Allocazione ritardata
  • Deframmentazione in linea
  • Controllo dell’integrità più rapido

Ho seguito le istruzioni di questo articolo, mentre la discussione sul forum si trova qui.

Iniziamo..nel mio caso avevo tutte le partizioni in ext3:

[~]
mount | grep ext
/dev/sda5 on / type ext3 (rw)
/dev/sda7 on /home type ext3 (rw)
/dev/sda8 on /media/banca_dati type ext3 (rw)
[~]

Ho cambiato prima nell’fstab “ext3″ in “ext4″.

Poi visto che volevo convertire anche la root, ovviamente non potevo usare systemrescuecd bootandola da hard disk, perchè appunto l’ho installata in una directory su / (comincio a pentirmene).

EDIT: Come suggerito da claudio, è possibile usare systemrescuecd direttamente da hdd anche se l’avete copiato come me in una cartella di /, basta infatti aggiungere l’opzione docache nei parametri di avvio del kernel.

Se invece non l’avete su hard disk potete seguire questi passi per metterla su una chiavetta usb:

[~]
dd if=/dev/sdb1 of=/media/banca_dati/marinzpen_backup.iso
mkfs.vfat -F 32 -n SYSRESC /dev/sdb1
sudo pacman -S syslinux
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
sync
[~]


[~]
mount -o loop -t iso9660 /media/banca_dati/temp/sysrescuecdISO.iso /media/temp
mount /dev/sdb1 /media/usbpen
cp -r /media/temp/* /media/usbpen/
rm -rf /media/usbpen/syslinux
mv /media/usbpen/isolinux/isolinux.cfg /media/usbpen/isolinux/syslinux.cfg
mv /media/usbpen/isolinux /media/usbpen/syslinux
[~]

[~]
umount /media/usbpen
syslinux /dev/sdb1
sync
[~]

La spiegazione di questi passi la trovate qui.
Bootando quindi da usb ho dato i comandi:

tune2fs -O extents,uninit_bg,dir_index /dev/sda5
fsck -pf /dev/sda5
tune2fs -O extents,uninit_bg,dir_index /dev/sda7
fsck -pf /dev/sda7
tune2fs -O extents,uninit_bg,dir_index /dev/sda8
fsck -pf /dev/sda8

(informazioni su quelle flag le trovate guardando il man di tune2fs e e2fsck).

Finito.. ho riavviato in arch senza alcun problema, controllando comunque i montaggi:

[~] mount | grep ext
/dev/sda5 on / type ext4 (rw)
/dev/sda7 on /home type ext4 (rw)
/dev/sda8 on /media/banca_dati type ext4 (rw)
[~]

Se invece si presenta un kernel panic, occorre avviare da fallback e ricreare l’initram con il solito comando:

mkinitcpio -p kernel26