Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/07/2013, à 19:04

Jashugatts

Detection des sytème d'exploitation et de leur partition

Bonjour tout le monde,

Je suis en train de travailler sur un script pour faire une image du système d'exploitation installé sur un PC.
Tout marche tellement bien que je voudrais pouvoir sauver les différents OS sur les différents ordinateur sur lesquels je travaille.

Comme les configs en sont pas identique, j'aimerai pouvoir lister les OS installés sur le PC ainsi que les partitions sur lesquels il sont installés.

Je n'arrive pas à trouver comment je pourrai faire ça. Comme il y a toujours une ubuntu et un windows, voire un autre unix, j'utilise grub2.
J'ai bien essayé de voir si il y avait un fichier de grub2 qui pourrait regrouper ces informations de manière facilement récupérable avec une commande type grep/sed/cut/awk mais je n'arrive à rien de satisfaisant.

Malheureusement quand je cherche sur google, ou sur le forum, je ne trouve rien hmm

Quelqu'un aurait il une idée pour lister ça ?

En imaginant que mes partitions sont réparties ainsi :

sda1 = Ubuntu 12.04
sda2 = swap
sda3 = Windows
sda = extended partition
sda5 = Debian
sda6 = Opensuse

Le top serait que j'arrive à obtenir une réponse de type

sda1 Ubuntu 12.04
sda3 Windows
sda5 Debian
sda6 Opensuse

Merci d'avoir lu smile

Dernière modification par Jashugatts (Le 17/07/2013, à 19:07)


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#2 Le 17/07/2013, à 21:47

xabilon

Re : Detection des sytème d'exploitation et de leur partition

Salut

Tu as essayé os-prober ?


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#3 Le 18/07/2013, à 00:17

Jashugatts

Re : Detection des sytème d'exploitation et de leur partition

Alors j'ai testé avec os-prober en faisant un sudo os-prober, j'obtiens rien. Ca revient à la ligne sans rien. Après peut être que je l'utilise pas bien.

Par contre si je teste avec ça : http://sourceforge.net/projects/bootinfoscript/
Il me détecte bien tout mais j'arrive pas à récupérer les infos à l’intérieur du fichier resultat.txt, je suis pas sur mon pc, je posterai le contenu du fichier voir si quelqu'un arrive à en faire quelque chose smile


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#4 Le 18/07/2013, à 16:11

Jashugatts

Re : Detection des sytème d'exploitation et de leur partition

Bon je crois que j'ai compris pourquoi os-prober en fonctionne pas, la machine de test que j'utilise n'est pas encore multi-système, et apparemment il détecte les os supplémentaire mais ne liste pas celui sur lequel il est installé.
Je vais donc installé un Seven pour tester si il me le liste, et si c'est le cas, c'est exactement ce qu'il me faut, vu que je ne veux pas sauvegarder le système qui sert à sauvegarder les autres.


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#5 Le 18/07/2013, à 16:38

akaoni

Re : Detection des sytème d'exploitation et de leur partition

Pour faire ca j'utilise les tags sur les partitions et la commande blkid.
Grub et ses sous scripts, sous programmes c'est un peu l'enfer.
Sinon si tu veux faire plus simple (sans tag) tu utilise blkid et le type de FS.
Pour linux tu montes la partition et tu chercher /etc/xxxxx-release en fonction de ton OS (il y a qque part dans grub qque chose comme ca).

Hors ligne

#6 Le 18/07/2013, à 21:46

Babdu89

Re : Detection des sytème d'exploitation et de leur partition

Bonsoir.

Je suis en train de travailler sur un script pour faire une image du système d'exploitation installé sur un PC.
Tout marche tellement bien que je voudrais pouvoir sauver les différents OS sur les différents ordinateur sur lesquels je travaille.

Il me semble que comme avec tous les logiciels spécialisés pour faire une image système, il faut le faire en session live. Ceci afin de ne pas utiliser une partition encours d'utilisation.
Si ton script est exécuté par l'OS que tu veux sauvegarder, ta partition est active, il y a lecture écriture de données sur cette partition. La sauvegarde risque de mal se faire.

Si ton scipt est lancé depuis une session live, la partition où se trouve l'OS à sauvegarder, n'est pas active.

En session live os-prober va lister tous les OS de ta config mais sous cette forme .
Exemple chez moi .

bernard@bernard-System-Product-Name:~$ sudo os-prober
[sudo] password for bernard: 
/dev/sda5:Ubuntu 13.04 (13.04):Ubuntu:linux
/dev/sda7:Ubuntu 12.04.2 LTS (12.04):Ubuntu1:linux
/dev/sda8:Ubuntu 13.04 (13.04):Ubuntu2:linux
/dev/sdb10:Ubuntu 11.10 (11.10):Ubuntu3:linux
/dev/sdb11:Ubuntu 11.10 (11.10):Ubuntu4:linux
/dev/sdb12:Ubuntu 11.10 (11.10):Ubuntu5:linux
/dev/sdb8:Ubuntu 10.04.4 LTS (10.04):Ubuntu6:linux
/dev/sdc7:Ubuntu 12.04.2 LTS (12.04):Ubuntu7:linux
/dev/sdd1:Microsoft Windows XP Professionnel:Windows:chain
/dev/sdd10:Linux Mint 13 Maya (13):LinuxMint:linux
/dev/sdd12:Ubuntu 12.04.2 LTS (12.04):Ubuntu8:linux
/dev/sdd15:Ubuntu 13.04 (13.04):Ubuntu9:linux
/dev/sdd16:Zorin OS 6 (6):Zorin:linux
/dev/sdd17:Zorin OS 6 (6):Zorin1:linux
/dev/sdd18:Ubuntu 12.04.1 LTS (12.04):Ubuntu10:linux
/dev/sdd19:Ubuntu 12.04.2 LTS (12.04):Ubuntu11:linux
/dev/sdd20:Ubuntu 12.04.2 LTS (12.04):Ubuntu12:linux
/dev/sdd22:Ubuntu 12.04.2 LTS (12.04):Ubuntu13:linux
/dev/sdd23:Ubuntu 12.04.2 LTS (12.04):Ubuntu14:linux
/dev/sdd24:Ubuntu 12.10 (12.10):Ubuntu15:linux
/dev/sdd26:Ubuntu 12.04.2 LTS (12.04):Ubuntu16:linux
/dev/sdd27:Ubuntu 13.04 (13.04):Ubuntu17:linux
/dev/sdd29:Ubuntu 13.04 (13.04):Ubuntu18:linux
/dev/sdd30:Ubuntu 12.04.2 LTS (12.04):Ubuntu19:linux
/dev/sdd31:Ubuntu 13.04 (13.04):Ubuntu20:linux
/dev/sdd32:Ubuntu 12.04.2 LTS (12.04):Ubuntu21:linux
/dev/sdd5:Ubuntu 12.04 LTS (12.04):Ubuntu22:linux
/dev/sdd8:Ubuntu Saucy Salamander (development branch) (13.10):Ubuntu23:linux
/dev/sdd9:Ubuntu 12.04.1 LTS (12.04):Ubuntu24:linux
bernard@bernard-System-Product-Name:~$

Si tu as plusieurs OS avec un noyau de la même version, mais pas la même variante de Ubuntu par exemple,tu ne seras pas plus avancé .

Il faudrait mettre les label (étiquette) à tes partitions système en passant par Gparted ou en commande , en session live Ubuntu. Et utiliser la commande blkid
La même config chez moi vue par blkid donne .

bernard@bernard-System-Product-Name:~$ sudo blkid
/dev/sda5: LABEL="13.04-hy-d-v1-ma" UUID="b412fc3c-c834-4c1b-aebd-e49c56109a62" TYPE="ext4" 
/dev/sda6: UUID="6ca56cba-1004-4bfd-ac27-11a7ee1bdb60" TYPE="swap" 
/dev/sda7: LABEL="test-fusion" UUID="6a2748de-3890-4749-8a08-118d32727a1a" TYPE="ext4" 
/dev/sda8: LABEL="raring-maxtor" UUID="d9552b27-bda9-4372-8a51-9967d770a932" TYPE="ext4" 
/dev/sdb1: LABEL="XP_SATA_1" UUID="E664A19764A16ACF" TYPE="ntfs" 
/dev/sdb10: LABEL="ubunt-11.10-cust" UUID="87f9fc2c-333a-4f47-b291-4cdee833e3cf" TYPE="ext4" 
/dev/sdb11: LABEL="UBUN-11.10" UUID="2c7213a4-4f16-4563-9a7a-a66cdd99a8d3" TYPE="ext4" 
/dev/sdb12: LABEL="hyb-11.10-64b" UUID="646bb5cb-b839-4ae6-992a-5e8bcfbe77ea" TYPE="ext4" 
/dev/sdb13: UUID="4955929C3B97C64E" TYPE="ntfs" 
/dev/sdb5: LABEL="DONNEES_SATA_1" UUID="07BCAE8F3189725B" TYPE="ntfs" 
/dev/sdb6: LABEL="Natty-Wubi" UUID="04CCFBA34F6393FF" TYPE="ntfs" 
/dev/sdb7: UUID="a88d28f8-c11b-47df-8915-90582136022f" TYPE="swap" 
/dev/sdb8: LABEL="syst_clone" UUID="cb55ce42-5af5-4390-a732-e0cf9d6ca7cc" TYPE="ext4" 
/dev/sdb9: LABEL="home_clone" UUID="52ed84e7-fd45-4ae2-9e7e-a77704656cde" TYPE="ext4" 
/dev/sdc1: LABEL="SATA" UUID="5BA987A83CA2C244" TYPE="ntfs" 
/dev/sdc5: UUID="a0f4ed99-22ba-4afb-b3dc-8f75850c5fce" TYPE="swap" 
/dev/sdc6: LABEL="sata2-hom-hyb" UUID="487ef749-1aa1-435e-aa2a-4437ea7f95db" TYPE="ext4" 
/dev/sdc7: LABEL="sata2-sys-hyb" UUID="85c7bdaf-87d3-4b2f-bd5d-f3c8f4ee28b5" TYPE="ext4" 
/dev/sdd1: LABEL="SATA3-COPY-XP" UUID="F664A19764A16AFF" TYPE="ntfs" 
/dev/sdd10: LABEL="MINT-13-mate" UUID="c1edbd6a-4a2e-4280-8808-3d7dae51d0fb" TYPE="ext4" 
/dev/sdd11: LABEL="sata3-xub12.04h" UUID="f3871556-0e49-42cd-a531-74630ac0e63d" TYPE="ext4" 
/dev/sdd12: LABEL="sata3-xub12.04s" UUID="70daa048-865f-43d2-b343-91f6c5109e0e" TYPE="ext4" 
/dev/sdd14: UUID="75EB-7B0E" TYPE="vfat" 
/dev/sdd15: LABEL="cubuntu-13.04" UUID="22cfcea9-d840-4707-8d2b-b07e4f6f0465" TYPE="ext4" 
/dev/sdd16: LABEL="zorin-v6-32-bit" UUID="5bdfbe32-98f5-4b3f-837a-ba148e65fa9a" TYPE="ext4" 
/dev/sdd17: LABEL="zorin-v6-64-bit" UUID="7a544244-afac-42d5-919f-53fda6bdbe0e" TYPE="ext4" 
/dev/sdd18: LABEL="12.04_inst_alter" UUID="5e64cccd-2c84-4791-83e2-f8a4b871c18c" TYPE="ext4" 
/dev/sdd19: LABEL="test-u12.04.2-32" UUID="dccf2d08-5638-4507-b396-b24b0298927e" TYPE="ext4" 
/dev/sdd20: LABEL="u-12.04-2_magic" UUID="f173e043-7a91-49a2-9569-6843697cd1d6" TYPE="ext4" 
/dev/sdd21: LABEL="clon-xub-hom12" UUID="ad4b1111-6cc9-4250-9de1-db1fad8ed694" TYPE="ext4" 
/dev/sdd22: LABEL="clon-xub-sys12" UUID="48ff7e02-c2ba-452a-985c-21c6c193c2e8" TYPE="ext4" 
/dev/sdd23: LABEL="hyb-evol-altern" UUID="ab8e7173-8d57-460a-9329-3509446baf7a" TYPE="ext4" 
/dev/sdd24: LABEL="xub-12.10-syst" UUID="c7374bbf-9922-4d05-8159-d25436b906da" TYPE="ext4" 
/dev/sdd25: LABEL="xub-12.10-home" UUID="2b1b6a62-beb6-4b62-9c93-fccede77bfc8" TYPE="ext4" 
/dev/sdd27: LABEL="sata3-13.04-syst" UUID="35481193-c626-4b22-bbf9-f58c2ecda081" TYPE="ext4" 
/dev/sdd28: LABEL="sata3-13.04-hom" UUID="9ec355e4-7663-459b-80f1-1a6e39b68892" TYPE="ext4" 
/dev/sdd29: LABEL="sata3-xub-13.04" UUID="9727f85a-7abd-4090-9dbd-9bc1454ccf2d" TYPE="ext4" 
/dev/sdd30: LABEL="fusion-test" UUID="a3fa6702-20fe-4cfd-a42d-f79a6cc3bec3" TYPE="ext4" 
/dev/sdd31: LABEL="raring-reserve" UUID="734a895a-fb60-43d1-ab21-3877b0494d36" TYPE="ext4" 
/dev/sdd32: LABEL="xu12.04-s-hydv1" UUID="1c3da83e-7a5b-4c8c-851c-8f95fb8afed5" TYPE="ext4" 
/dev/sdd33: LABEL="xu12.04-h-hydv1" UUID="8fbb20d5-81ff-40d9-b299-c47dacf712c7" TYPE="ext4" 
/dev/sdd5: LABEL="hyb-evol-64-sys3" UUID="a7e86797-6e4d-4f59-9cf2-13723655745e" TYPE="ext4" 
/dev/sdd6: LABEL="hy-evol-64-home" UUID="9a296575-41a5-4cc0-addb-b35c66520ff3" TYPE="ext4" 
/dev/sdd8: LABEL="saucy-13.10" UUID="8eee3942-ee23-4d80-a81d-8bfc20ba80ce" TYPE="ext4" 
/dev/sdd9: LABEL="hyb-evol-64-v1" UUID="28b25483-585b-4f69-a5da-4b2fb5974d3e" TYPE="ext4" 
/dev/sdd7: UUID="d3b7af4e-d1ea-4042-be93-6f01923525a7" TYPE="swap" 
/dev/sdd26: LABEL="sata3-fusion" UUID="4b654f3c-0450-49cb-8a0a-ec27131fe54f" TYPE="ext4" 
bernard@bernard-System-Product-Name:~$

En plus la commande blkid te donne les UUID des partitions ,c'est un identifiant unique pour chacune d'elles. Ce serait bien bien utile de les utiliser pour ton script. Pas d'erreur de partition à sauvegarder possible .

Je ne me risquerais pas plus à te donner d'autre info sur le codage, je n'y connais rien . désolé.

Sinon , je fais des sauvegardes (clone) de mes systèmes  Linux de cette manière .

http://forum.ubuntu-fr.org/viewtopic.ph … #p10629421

Pour Windows, je copie tout simplement les partitions avec Gparted sur un coin de disque .

Si il y a quelque chose d'utile à "piocher" dedans ...

Voila, si çà peut déjà t'aider .

@+.   Babdu89 .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#7 Le 19/07/2013, à 12:21

Jashugatts

Re : Detection des sytème d'exploitation et de leur partition

Désolé pour le manque de réponse, j'ai été un peu débordé à mon travail smile

Je vais essayer d'être plus précis, mais grâce à vous j'ai quelque piste.

En fait j'effectue l'image de mes partition système depuis un Linux dédié avec une installation minimal, donc pas de problème au niveau sauvegarde de mes autre systemes, quand je test avec os-prober, j'arrive à voir les système à sauver sauf windows 7 x64, apparemment c'est parce qu'il est en uefi (table de partition gpt et boot efi).

Je vais donc essayer de passer mon mini ubuntu en 13.04 pour voir si la dernière version de os-prober n'a plus le problème (c'est un bug listé sur celle de la 12.04 que j'utilise hmm).
la commande blkid me liste bien tout avec le type de partition, mais c'est vrai que si la partition n'a pas de label c'est un peu plus compliqué (en sachant que j'essaie de faire quelque chose d'utilisable mais pas forcément par moi).

En gros mon problème c'est juste de lister ces foutus OS quelque soit l'installation, les sauvegardes et les restaurations fonctionnent déjà mais que si j'indique la partition à la main, ce qui marche parce que c'est mon installation et que je sais où sont les installations. Je voudrais juste le rendre plus user-friendly ^^


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#8 Le 19/07/2013, à 15:48

Jashugatts

Re : Detection des sytème d'exploitation et de leur partition

Y a bien un problème avec l'EFI mad

je viens de trouver un autre rapport de bug, mais cette fois si avec un petit patch qui résout mon problème ( Bug #807801: GRUB2 fails to detect/add Windows entries on a UEFI system)

Je viens de tester et il me voit bien cet abruti (désolé) de seven, je vais tenter de faire une installation d'ubuntu classique à coter pour voir si il l'a prend en compte mais je crois que j'approche de la solution. roll


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne

#9 Le 19/07/2013, à 17:51

Babdu89

Re : Detection des sytème d'exploitation et de leur partition

Bonjour.

Jashugatts a dit;
la commande blkid me liste bien tout avec le type de partition, mais c'est vrai que si la partition n'a pas de label c'est un peu plus compliqué (en sachant que j'essaie de faire quelque chose d'utilisable mais pas forcément par moi).


Une idée peut-être à creuser.
Je rappelle, je n'y connais rien en code ...

Le script "d'installation alternative" de notre ami josepe36 .

http://forum.ubuntu-fr.org/viewtopic.ph … 1#p8671831

Ce script sert à installer Ubuntu sur une machine dont les partitions d'installation sont préparée avec Gparted avant installation.Et dont l'installation ne peut pas se faire de manière conventionnelle.

Il y a une partie du script qui liste toutes les partitions de la config. Et propose à l'utilisateur d'indiquer les partitions à utiliser pour l'installation, même le hdd pour y installer Grub stage1 dans son secteur de boot.

Peut-être, peux tu t'inspirer de l'idée pour lister et indiquer les partitions dont on doit faire les images avec ton script.
Évidement, si tu reprends l'idée. L'utilisateur aura à répondre à un questionnaire succinct dans le terminal, si tu fais comme josepe36 un script à lancer en terminal.

Je dis peut-être une bêtise, mais bon il est certainement intéressant de voir comment est écrit ce script, pour ceux qui savent coder . 

Bon courage.

@+.   Babdu89  .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#10 Le 06/08/2013, à 08:33

Jashugatts

Re : Detection des sytème d'exploitation et de leur partition

Désolé pour le temps de réponse, mais j'ai eu comme un débordement niveau travail hmm

Déjà merci Babdu89 pour tes réponses complètes, j'ai regardé le script en question et effectivement y a des choses très intéressante, je ne sais pas encore si je vais me servir directement de tout ça ou juste m'en inspirer mais c'est déjà un bon exemple, ne serait ce que pour voir comment il s'y prend.

Sinon le patch que j'ai trouvé pour os-prober fonctionne, et j'ai réussi aussi à faire en sorte que le script os-prober de grub2 me génère le bon fichier (celui qui s'execute quand on fait un grub-update), donc avec un petit coup de grep | sed | awk, j'arrive à extraire les infos qui m’intéresse.

Si j'arrive à faire quelque chose d'utilisable, je posterai mon script histoire que ça serve à quelqu'un. Je suis pas un as en scriptage (ça se dit ça ? tongue) mais bon si ça fait son office, ça sera déjà ça, ensuite toute amélioration sera la bienvenue smile

Je crois que j'ai réussi à obtenir toutes les infos qui m’intéressait.


Inventer, c'est penser à côté.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information

[Albert Einstein]

Hors ligne