------- Original Message -------
Le samedi 18 juin 2022 à 03:17, Pierre ESTREM<pierre.estrem@free.fr> a écrit :
Bonjour,
Dessous je vous présente le retour de 'fdisk -l' appliqué à l'image
d'une distro (sur clé usb) et destinée aux déficients visuels (base Mint) :
Device Boot Start End Sectors Size Id Type
aciah-linux.img1 * 2048 1050623 1048576 512M b W95 FAT32
aciah-linux.img2 1052670 60063743 59011074 28,1G 5 Extended
aciah-linux.img5 1052672 60063743 59011072 28,1G 83 Linux
Je me pose diverses questions.
GRUB2 est situé dans le MBR.
Le stage 1 est dans le mbr, le stage 2 dans /boot.
Quel(s) intérêt(s) a-t-on de faire que la partition 1 contenant
/boot/efi soit de type vfat ?
C'est imposé par le standard, et c'est un FS simple et libre de droits.
Pourquoi avoir mis la racine (partition ext4) dans une unité logique (n°5) ?
Ceux qui ont décidé ça savent comment fonctionne le partitionnement
ms-dos.
Tel qu'on nous le décrit, on peut faire 4 partitions principales dont une partition étendue contenant un nombre illimité de lecteurs
logiques.
En réalité le premier secteur d'une partition étendue (Extended boot record ou EBR) contient une nouvelle table de partition dont la première partition est le lecteur logique et la second une nouvelle partition étendue :
| Disque physique |
| sda1 | sda2 |
| sda5 | sda5p2 |
| sda6 | sda6p2 |
| sda7 | sda7p2 |
| sda8 |
Ça c'était le cas où on a prévu plus de 4 partitions dès le départ, on a 5 partitions : sda1 ; sda5 ; sda6 ; sda7 ; sda8.
Maintenant les cas avec 3 partitions principales :
| Disque physique |
| sda1 | sda2 | sda3 | sda4 |
| sda5 | sda5p2 |
| sda6 |
Personnellement je trouve ça "moins propre", et on "saute" quand-même sda4.
Je constate que le swap est en fait un fichier dans la racine (à la mode
W$).
Ca doit bien ralentir le système ?
Pas vraiment.
En condition normale de fonctionnement, l'espace d'échange ne sert qu'à échanger de la mémoire libre entre applications, ce qui est totalement virtuel. Ça permet de mutualiser l'espace libre. En gros quand une application réserve 1Go de mémoire, ils sont alloués dans l'espace d'échange, et re-alloués dans la mémoire réelle au fur et à mesure de leur utilisation effective. En cas de pénurie, le swap est effectivement utilisé ce qui donne un peut de robustesse avant l'intervention de l'oom killer du noyau. Mais les performances s'effondrent littéralement qu'il s'agisse d'un fichier ou d'une partition donc c'est complètement négligeable en regard de la souplesse apportée par l'utilisation d'un fichier, qui simplifie le redimensionnement ultérieur de la partition système par un script.
En gros un système bien dimensionné n'écris quasiment pas dans la swap, en cas de pénurie de mémoire il est bien plus efficace d'utiliser zram plutôt que de chercher à optimiser l'espace de swap.
Je m'emploie à faire de la racine une partition primaire (n°2) plutôt
qu'une unité logique.
Un conseil ?
Si tu y tiens vraiment voilà une simulation :
$ dd if=/dev/zero of=sdx count=100M
$ cfdisk
$ sfdisk -d sdx
label: dos
label-id: 0x21976e93
device: sdx
unit: sectors
sdx1 : start= 2048, size= 2048, type=ef
sdx2 : start= 4096, size= 200704, type=5
sdx5 : start= 6144, size= 198656, type=83
# losetup -fP sdx
# mkfs /dev/loop0p5
mke2fs 1.44.5 (15-Dec-2018)
Rejet des blocs de périphérique : complété
En train de créer un système de fichiers avec 99328 1k blocs et 24856 i-noeuds.
UUID de système de fichiers=52b98738-1f64-4248-bd04-5b2dd4623072
Superblocs de secours stockés sur les blocs :
8193, 24577, 40961, 57345, 73729
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
# fsck /dev/loop0p5
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
/dev/loop0p5 : propre, 11/24856 fichiers, 4696/99328 blocs
# losetup -d /dev/loop0
$ sfdisk -d sdx
label: dos
label-id: 0x21976e93
device: sdx
unit: sectors
sdx1 : start= 2048, size= 2048, type=ef
sdx2 : start= 4096, size= 200704, type=5
sdx5 : start= 6144, size= 198656, type=83
$ echo "label: dos
label-id: 0x21976e93
device: sdx
unit: sectors
sdx1 : start= 2048, size= 2048, type=ef
sdx2 : start= 6144, size= 198656, type=83
" | sfdisk sdx
Checking that no-one is using this disk right now ... OK
Disk sdx: 100 MiB, 104857600 bytes, 204800 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
Disklabel type: dos
Disk identifier: 0x21976e93
Old situation:
Device Boot Start End Sectors Size Id Type
sdx1 2048 4095 2048 1M ef EFI (FAT-12/16/32)
sdx2 4096 204799 200704 98M 5 Extended
sdx5 6144 204799 198656 97M 83 Linux
Script header accepted.
Script header accepted.
Script header accepted.
Script header accepted.
Created a new DOS disklabel with disk identifier 0x21976e93.
sdx1: Created a new partition 1 of type 'EFI (FAT-12/16/32)' and of size 1 MiB.
sdx2: Created a new partition 2 of type 'Linux' and of size 97 MiB.
Partition #2 contains a ext2 signature.
sdx3: Done.
New situation:
Disklabel type: dos
Disk identifier: 0x21976e93
Device Boot Start End Sectors Size Id Type
sdx1 2048 4095 2048 1M ef EFI (FAT-12/16/32)
sdx2 6144 204799 198656 97M 83 Linux
The partition table has been altered.
Syncing disks.
# losetup -fP /home/hugues/sdx
# fsck /dev/loop0p2
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
/dev/loop0p2 : propre, 11/24856 fichiers, 4696/99328 blocs
Voilà, il suffit de faire pointer l'entrée n°2 sur la partition n°5. Bien sûre ça ne fonctionne que pour le dernier lecteur logique sans quoi les suivants seraient perdu, à moins de les faire tous en même temps :
$ sfdisk -d sdx
label: dos
label-id: 0x21976e93
device: sdx
unit: sectors
sdx1 : start= 2048, size= 2048, type=ef
sdx2 : start= 4096, size= 200704, type=5
sdx5 : start= 6144, size= 102400, type=83
sdx6 : start= 110592, size= 40960, type=83
sdx7 : start= 153600, size= 51200, type=83
$ echo "
label: dos
label-id: 0x21976e93
device: sdx
unit: sectors
sdx1 : start= 2048, size= 2048, type=ef
sdx2 : start= 6144, size= 102400, type=83
sdx3 : start= 110592, size= 40960, type=83
sdx4 : start= 153600, size= 51200, type=83" | sfdisk sdx
Merci à ceux qui auront pris le temps de me lire sur ce sujet... ardu.
pierre estrem