Se connecter

Informatique

Linux

Sujet : Gestion avancée de partitions
1
[Soft]Ware
Niveau 39
27 décembre 2019 à 20:12:09

Salut :ok:

Je suis en train de réviser pour un examen d'administration système (linux), je suis sur des annales sans corrections.

Je tombe sur 2 problèmes que je n'arrive pas à résoudre.

:cd:

Où sont configurés les montages réalisés automatiquement au démarrage du système ?

Comment peut-on y déclarer un montage sans que celui-ci soit systématiquement monté et comment peut-on ensuite faire et défaire ce montage à la demande ?

Pour la première partie de la question c'est /etc/fstab.
Pour la 2eme partie je vois pas comment configurer ce fichier pour ça ?
Une fois configuré je pense que je peux utiliser la commande mount -a et umount -a ?

:cd:

Vous êtes parvenu à vous fabriquer une clé USB capable de démarrer les trois OS Linux, MacOS et Windows en mode UEFI ainsi qu'en mode BIOS -ce détail a de l'importance- tout en demeurant capable de stocker des fichiers utilisateurs. Vous êtes très fier de vous et un camarade vous demande de lui faire une copie de cette fabuleuse clé. La procédure pour construire cette clé étant assez complexe (et vous n'êtes pas certain de vous en souvenir), vous décidez qu'il vaut mieux en faire une copie. Seulement voilà, votre clé a une capacité de 16Go et celle de votre camarade 8Go. La topologie de votre clé est la suivante :

_ une petite partition contenant des fichiers d'amorce pour l'UEFI
_ une partition de 4go contenant les images ISO des systèmes
_ une partition occupant toute la place restante formatée en vfat pour les fichiers de l'utilisateur.
Donnez une procédure pour transférer le contenu de votre clé sur celle de votre camarade.

Bon, faut pas prendre en compte le fait qu'il n'y a pas assez de place sur ces clés de merde pour y installer 3 OS :hap:
Si tant est que ce soit réellement possible d'ailleurs.

Pour copier la première partition, je pense utiliser la commande dd mais je sais pas trop comment, sachant que je connais pas la taille ?
La 2eme, je connais pas le type de partition, on s'en fou ? Commande dd aussi je pense ? Mais comment ?
La 3eme, je pense que l'important c'est l'existence de la partition et pas son contenu, il faudrait donc faire une partition vide de type vfat (avec fdisk et mkfs) qui occuperait l'espace restant disponible.

Peut-être que je devrais d'abord monter les 3 partitions, regarder la taille exacte avec fdisk -l pour une copie précise avec dd ? Mais si c'est "que" ça, pourquoi est-ce que l'UEFI et le BIOS ont leur importance ?

Des idées pour une réponse satisfaisante et la plus complète possible ? :fou:

:merci:

[Soft]Ware
Niveau 39
27 décembre 2019 à 20:53:01

J'ai oublié de préciser, on travaille sur du Ubuntu 18.

eldertoon
Niveau 4
27 décembre 2019 à 21:13:20

1)a) oui : /etc/fstab
2)b) non : noauto / mount ou nom_du_point_de_montage, exemple : mount /opt , mount /home/eleves , umount /usr/share

ps:
mount -a sera logiquement un montage de tout le contenu de /ets/fstab SAUF les partitions noauto

eldertoon
Niveau 4
27 décembre 2019 à 21:29:23

2)
UEFI et BIOS ? Est-ce qu'on peut démarrer une clé BIOS partitonnée en GPT ?

Total des deux premières partitions < 8Go, donc on joue sur la taille de la dernière partition.

Ce qui est étonnant c'est d'avoir des images ISO sur une clé USB et ça démarerait en BIOS. C'est impossible sauf si cette partition contient autre chose aussi? Mais il est précisé que la première partition contient le démarrage pour UEFI. A ma connaissance ça suppose que la clé est en GPT + la première partition est formattée en FAT32 + cette partition est marquée en active. Donc on va supposer que, magiquement, cette partition démarre aussi en mode BIOS.

Donc ma réponse:
- déterminer le nom des devices sources et cibles (/dev/sd? ?)
- faire un fdisk /dev/sd? de la clé source puis p pour afficher le contenu
- faire un fdisk /dev/sd? de la clé destination puis créer une table de partition GPT vide (o c'est pour les versions BIOS, mais il y a une autre touche je crois)
- reproduire à l'identique le parttionnement c'est à dire en précisant exactement le même nombre de cylindres pour les deux premières partitions
- créer une troisième partition du même type (t) sur la place qu'il reste
- rendre active la même partition (a priori la 1ère)
- utiliser dd if=/dev/sd?1 of=/dev/sd?1 (en supposant que c'est 1 la première partition)
- idem pour la numéro 2
- formater la 3, monter les deux partitions (en créeant mkdir /mnt/a et /mnt/b par exemple)
- tout copier via un cp -a (d'autres utiliserait surement un cpio par sécurité, mais on parle de VFAT)
- démonter les deux partitions

Je ne garantis pas, mais c'est ce que je répondrais

eldertoon
Niveau 4
27 décembre 2019 à 21:31:09

Le 27 décembre 2019 à 20:53:01 [Soft]Ware a écrit :
J'ai oublié de préciser, on travaille sur du Ubuntu 18.

Dans toute ma logique c'est absolument standard du moment que le système est assez récent pour tout reconnaitre. Donc je ne vois pas l'utilité si ce n'est préciser qu'il faut lancer un terminal root car il y a une icône pour ça sur Ubuntu je crois.

[deban]_Dakien
Niveau 10
27 décembre 2019 à 22:12:00

cette partition est marquée en active. Donc on va supposer que, magiquement, cette partition démarre aussi en mode BIOS.

Justement non, il faut écrire dans le MBR soit les 512 premiers octets du périphérique pour le rendre bootable via la méthode classique. Il faut donc privilégier un chargeur d'amorçage du style GRUB pour faire ça automagiquement et rectifier le fichier de config final s'il est incorrecte. Chez moi, j'utilise disklabel pour indiquer manuellement où se trouve la partition et sa taille avant même que celle-ci soit créée :hap:

Le GPT n'est pas nécessaire pour l'UEFI si je ne dis pas de bêtises. Tu peux donc tout faire via la table de partition msdos classique. Si on passe systématiquement en GPT c'est parce que, en partitionnement automatique, Windows a tendance à créer un tas de partitions sans prévenir personne donc mieux vaut être en GUID à ce moment là.

[Soft]Ware
Niveau 39
28 décembre 2019 à 15:36:41

Le 27 décembre 2019 à 21:13:20 eldertoon a écrit :
1)a) oui : /etc/fstab
2)b) non : noauto / mount ou nom_du_point_de_montage, exemple : mount /opt , mount /home/eleves , umount /usr/share

ps:
mount -a sera logiquement un montage de tout le contenu de /ets/fstab SAUF les partitions noauto

Merci pour la réponse,

Pour noauto je comprends pas trop à quel endroit je dois le mettre ?

Actuellement mon fstab c'est ça :
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda6 during installation UUID=c43df303-f11e-482b-9e6b-8428a2e375f6 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda2 during installation UUID=FAFF-CC76 /boot/efi vfat umask=0077 0 1 # swap was on /dev/sda5 during installation UUID=473d322e-4828-44c4-8ff7-311d2fff9c6d none swap sw 0 0

admettons que je ne veuille pas monter le / automatiquement (oui c'est débile mais osef), je devrais écrire
UUID=c43df303-f11e-482b-9e6b-8428a2e375f6 / noauto ext4 errors=remount-ro 0 1 :question:

et ensuite pour le monter je ferais juste mount / et umount / :question:

:merci:

[Soft]Ware
Niveau 39
28 décembre 2019 à 15:52:44

Pour le 2eme exercice c'est pas très clair dans ma tête :(

Ce qui est sûr ce qu'il n'est pas demandé qu'on donne précisément des commandes (mais le nom des outils tels que fdisk et dd oui).

Là où ça reste vraiment flou pour moi c'est l'histoire des bios, je comprends pas ce que ça change.

Est-ce que je devrais faire un dd de la table de partitions de clé (le truc qui se trouve avant la première partition si je dis pas de bêtise), ce qui correspond donc aux 512 premiers octets ? Et ça c'est "universel" ?

ensuite utiliser fdisk pour regarder les tailles de partitions, ça ok.
je prends les valeurs de début et de fin, et je copie les 2 partitions avec dd (l'une après l'autre j'imagine), là pas besoin de formater ou quoi, tout est bon directement non ?
Ensuite avec fdisk je fais une nouvelle partition de la taille restante et je formate avec mkfs.vfat

Le disklabel on a pas vu ça en cours donc c'est sûr que c'est pas la réponse attendue

[deban]_Dakien
Niveau 10
28 décembre 2019 à 16:48:12

"disklabel" c'est pas une commande que t'as sur GNU/Linux mais sur UNIX. Je ne connais pas son équivalent Linux si tant est qu'elle existe. Généralement, les bootloaders se chargent d'écrire dans la table à ta place. C'est normal que t'en n'ai jamais entendu parler.

CoentraoDaSilva
Niveau 10
29 décembre 2019 à 11:06:16

C'est quel niveau ces questions par curiosité ? :hap:

[Soft]Ware
Niveau 39
29 décembre 2019 à 23:33:29

Le 29 décembre 2019 à 11:06:16 CoentraoDaSilva a écrit :
C'est quel niveau ces questions par curiosité ? :hap:

Master 1

eldertoon
Niveau 4
31 décembre 2019 à 18:44:28

Très bonne remarque le MBR, ce sont les 512 premiers octets. Mais de mémoire, cela pointe sur d'autres fichiers ensuite car 512 c'est jamais assez pour des démarreurs récents. En revanche, EFI implique a priori GPT sauf si on est en mode legacy / CSM et que secure boot est désactivé (mais sur ce dernier point, ça paraît logique puisqu'on parle d'une clé USB)

https://www.malekal.com/erreur-installation-windows-disque-selectionne-style-de-partition-gpt/

Du coup la question : est-ce que la question peut admettre de démarrer un PC UEFI mais en mode Legacy ? Ce serait étrange puisque le Legacy ça revient à démarrer sans UEFI pour moi.

En revanche le sujet parle d'une clé qui démarre les 3 OS en BIOS et UEFI. Je suis dans l'inconnue sur MacOS. Est-ce qu'on peut imaginer un GRUB qui peut passer la main à MacOS ? Je sais que c'est possible d'enchaîner Windows 10, mais Mac ?

Pour les 512 octets du MBR, il me semble cependant qu'ils peuvent être vide. Dans ce cas là, le BIOS lit les 512 octets de la partition active. Dans ce cas là un DD des deux premières partitions résout le problème. D'ailleurs il me semble qu'à l'époque j'avais un linux maitre qui enchainait Windows car son MBR avait été mis dans un fichier (ou dans le début de la partition qui l'héberge, mais ici ce sont des ISO?).

Je confirme au passage que tu as le raisonnement auquel je pensais : créer les deux premières partitions en copiant les informations à l'identique puis utiliser DD. Mais il faut exactement la même taille.

Pour le disklabel, c'est très simple via un -L quand on fait un mkfs. Post formatage c'est aussi possible
https://www.tecmint.com/change-modify-linux-disk-partition-label-names/

eldertoon
Niveau 4
31 décembre 2019 à 18:47:08

Le 27 décembre 2019 à 22:12:00 [deban]_Dakien a écrit :
Le GPT n'est pas nécessaire pour l'UEFI si je ne dis pas de bêtises. Tu peux donc tout faire via la table de partition msdos classique. Si on passe systématiquement en GPT c'est parce que, en partitionnement automatique, Windows a tendance à créer un tas de partitions sans prévenir personne donc mieux vaut être en GUID à ce moment là.

Pour moi, on passe surtout à GPT pour dépasser la limite des 2To. Pour les partitions Windows multiple, c'est la norme UEFI qui veut ça + son mode de restauration bizarre, et aussi car ils se sont rendus finalement compte qu'avoir un système sur plusieurs partitions ça permet de solutionner pas mal de problème.

eldertoon
Niveau 4
31 décembre 2019 à 18:52:50

Le 28 décembre 2019 à 15:36:41 [Soft]Ware a écrit :
# <file system> <mount point> <type> <options> <dump> <pass>

noauto est une option, dans à mettre dans <options>

admettons que je ne veuille pas monter le / automatiquement (oui c'est débile mais osef), je devrais écrire
UUID=c43df303-f11e-482b-9e6b-8428a2e375f6 / noauto ext4 errors=remount-ro 0 1 :question:

Non :
UUID=c43df303-f11e-482b-9e6b-8428a2e375f6 / ext4 errors=remount-ro,noauto 0 1

Et autres options aussi :
UUID=c43df303-f11e-482b-9e6b-8428a2e375f6 / ext4 errors=remount-ro,noauto,noatime,rw,user 0 1

et ensuite pour le monter je ferais juste mount / et umount / :question:

Oui, mais bon, mount / ça va être compliqué sur linux, on va plutôt dire que ça marche bien sur mount /opt, mount /mnt ou encore mount /home

[Soft]Ware
Niveau 39
07 janvier 2020 à 17:09:05

Merci pour les réponses :ok:

J'ai une autre question :

Vous venez de demander l’éjection votre clé usb mais le système vous répond qu’il ne peut démonter le système de fichier car (au moins) un processus utilise encore le fichier /media/toto/cle-usb/trucs/. Quelle commande utiliser pour trouver le ou les processus en question?

ps ? htop ?
J'ai essayé sur ma machine et j'arrive pas à trouver de solution :(

:merci:

[deban]_Dakien
Niveau 10
07 janvier 2020 à 18:33:06

Ça s'ejecte une clé ? :hap: c'est pas un lecteur CD :rire2:

[Soft]Ware
Niveau 39
07 janvier 2020 à 19:05:53

Bah oui :(
Ce serait con de la débrancher alors qu'il y a une opération d'écriture en cours :ok:

[deban]_Dakien
Niveau 10
07 janvier 2020 à 19:09:01

Non, tu démontes la partition et après tu débranches ta clé, tu l'éjecte pas, c'est pas un lecteur CD :(

[Soft]Ware
Niveau 39
07 janvier 2020 à 19:43:24

Je sais pas si t'es sérieux, si tu troll ou si tu joues sur les mots...

Sur tous les environnements de bureau que j'ai pu avoir, y'a toujours eu un bouton dans le gestionnaire de fichier pour éjecter un périphérique externe.
Et sinon :
https://linux.die.net/man/1/eject

Et puis justement si on retire la clé alors qu'elle est occupée par un processus, il se passe quoi ? Il plante ? Il fait n'importe quoi ? On sait pas ?

[deban]_Dakien
Niveau 10
07 janvier 2020 à 19:54:25

Bah, non, je suis sérieux. Je sais pas pour Linux mais je peux pas "éjecter" une clé USB chez moi... Parce que c'est pas un lecteur CD, ça n'a pas de sens :( Si je tente la commande, ça ne fonctionnera pas parce que mon système va me dire que le périphérique n'est pas un lecteur CD et... Enfin même, pourquoi je ferai cette commande ? Ce qui est important lorsque l'on veut débrancher sa clé c'est de démonter la partition et... On débranche non ? Je suis le seul à trouver ça logique ?

Après c'est un abus de langage, je pense, d'"éjecter" sa clé.

Ça marche d'éjecter sa clé sur Linux ? C'est sérieux ? :question: ça fait quoi ? Ça la propulse en dehors du PC et faut l'attraper en vol ? :hap:

1
Sujet : Gestion avancée de partitions
   Retour haut de page
Consulter la version web de cette page