Désinstaller dual boot depuis les lignes de commandes grub

Résolu/Fermé
Sawney - 21 janv. 2022 à 15:32
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 - 26 janv. 2022 à 14:16
Bonjour à tous,

J'ai actuellement un projet avec des appareils SIEMENS. Je ne sais pas si vous connaissez, c'est comme un module arduino, mais plus professionnel.
Mon but est de connecter la CPU à internet. Pour cela, je l'ai branché à un module 4G.
Pour faire cette connexion, j'ai besoin d'utiliser une application web faite par SIEMENS qui s'appelle Sinema Remote Connect (RC). D'un coté, j'ai un serveur, et d'un autre un client. Le serveur Sinema RC se trouve sur le cloud AWS, et le client sera sur mon ordinateur en physique.

Mais voilà où est mon problème : SIEMENS propose seulement une image disque (iso) du serveur à la version 1.3. Je peux donc installer le serveur sur une VM, mais je n'ai accès qu'au serveur de version 1.3. Et pour connecter mon module 4G, j'ai besoin de la version 2.0. Mais SIEMENS ne propose pas de fichier iso de cette version directement, je suis obligée de mettre à jour le serveur (passer de la version 1.3 à la version 2.0). Le problème est qu'en faisant cela, en passant d'une version à une autre, cela me créé un dualboot : j'ai le choix de boot sur la version 1.3 ou 2.0. Et AWS n'est pas compatible avec les dualboots. Pour résumer, je suis obligée d'utiliser la version 2.0 mais cela implique un dualboot, qui n'est pas compatible avec AWS. C'est pourquoi j'ai besoin de votre aide :
Est-il possible, depuis les lignes de commandes de GRUB, de supprimer une partition ? Je n'ai pas d'autre choix, sinon je ne vois pas comment faire autrement.

Je sais qu'il est facile de supprimer GRUB ou une partition depuis n'importe quel OS, que ce soit sous linux ou windows. Le problème étant que le serveur Sinema RC est un OS en lui-même. Par conséquent, je ne peux pas supprimer l'une des partitions "normalement", depuis un linux ou windows. Le serveur ne dispose pas d'invite de commandes, ou d'interface graphique. Simplement, pour me connecter dessus, j'entre son adresse IP dans la barre de recherches de mon navigateur et j'accède directement à son server web. Je n'ai donc pas d'autre choix que de supprimer l'une des partitions depuis les lignes de commandes de Grub.

Pourriez-vous m'aider ?

Merci d'avance

Bien cordialement

Sawney
A voir également:

7 réponses

mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 7 801
21 janv. 2022 à 17:41
Bonjour,

En fait, grub permet de choisir un noyau sur lequel démarré, étant donné une partition système. Dans une installation classique, une mise à jour d'un système (disons une Debian) entraîne la mise à jour des paquets de cette debian, parmi lesquels peuvent figurer une mise à jour du noyau. À l'issue d'une telle mise à jour, tu as donc la possibilité de démarrer le même système debian (même partitions) mais avec deux noyaux différents.

Ne connaissant pas les outils siemens dont tu parles, il n'est pas clair si cela revient à juste mettre à jour le système (et donc conserver les mêmes partitions) et mettre à jour le noyau, ou créer de nouvelles partitions et avoir donc deux systèmes complètement indépendants.

Pour contrôler, il faudrait voir la table des partitions (voir résultat de
sudo parted -l
) et/ou la configuration qui a été générée pour grub (
cat /boot/grub/grub.cfg
).

De deux choses l'une :
  • soit les partitions sont les mêmes mais tu as le choix entre deux noyau : dans ce cas, il suffit depuis ton gestionnaire de paquets de supprimer les anciens noyaux. Sous debian on lancerait par exemple
    dpkg -l | grep linux-image
    pour lister les noyaux installé et
    sudo apt remove linux-image-5.15.0-2-amd64
    si ce noyau n'est plus utile.
  • soit les deux systèmes sont complètement indépendants : dans ce cas tu peux utiliser un outil comme os-uninstaller ou reproduire ce qu'il fait à la main, c'est-dire supprimer les partitions du système à supprimer, par exemple via
    parted
    ou
    gparted
    , et régénérer grub en conséquence avec
    sudo update-grub
    ).


Dans tous les cas, veille à sauver au préalable les données auxquelles tu tiens.

Bonne chance
0
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
24 janv. 2022 à 09:21
Bonjour,

En effet, cela créé une nouvelle partition :


Voici le résultat de la commande cat :


De plus, je n'ai pas accès à un environnement linux. Etant donné que mes serveurs sont installés en tant qu'OS à part entière, je n'ai même pas accès à un terminal linux :


Voici ce qu'affiche le serveur lorsqu'il est lancé (je ne peux rien faire de plus, je ne peux pas accéder à une ligne de commande) :


Par conséquent, savez vous si c'est possible de supprimer une partition depuis les commandes Grub ? Parce que si j'avais l'accès à un terminal linux, le problème serait déjà réglé....

Merci d'avance

Bien cordialement

Sawney
0
Bonjour,
"savez vous si c'est possible de supprimer une partition depuis les commandes Grub ?"
Je ne vois pas comment, voici les seules commandes disponibles depuis grub :
http://www.gnu.org/software/grub/manual/grub/grub.html#Commands

Tu n'as pas la possibilité d'accéder au support de stockage depuis un autre appareil via un cable usb ? C'est quoi comme support ? de la mémoire mmc soudée ? une carte sd ? un disque dur ?
0
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
24 janv. 2022 à 10:50
Non : j'ai fais l'installation sur une VM (machine virtuelle) de Virtualbox. J'ai donc accès à une mémoire virtuelle, c'est tout. Pourquoi ?
0
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 7 801
Modifié le 24 janv. 2022 à 13:42
Bonjour,

Malheureusement tes captures d'écran ne m'aident pas beaucoup. Le contenu de grub est incomplet et résultat de la commande
ls
n'est à mon avis pas l'idéal pour voir la table des partitions.

De ce que je vois tu aurais trois partitions, mais rien ne dit que ça n'est pas juste swap, /, et /home (autant dire que rien ne dit que chacune des deux versions est sur une partition dédiée).

De plus, je trouve un peu étonnant qu'une mise à jour puisse engendrer une création de partition(s). Ça n'est techniquement pas toujours possible en particulier si les partitions existantes couvrent déjà l'intégralité du disque dur, donc ça paraît étrange.

Si tu ne peux pas lancer un terminal depuis les systèmes installés, essaye de démarrer tes VMs en les faisant démarrer sur un fichier iso (ton logiciel de virtualisation permet de charger un fichier iso au même titre que tu pourrais insérer un CD ou une clé USB sur une machine réelle) et démarre dessus. De là, il te sera possible d'avoir un système mettant un terminal à disposition. Tu pourrais alors nous reporter les résultats de :

sudo parted -l
cat /boot/grub/grub.cfg


Merci d'éviter les captures d'écran quand c'est possible, qui ne sont pratique pour personne. Mieux vaut copier coller le résultat de la commande et le mettre en forme avec les balises de code quand tu écris ton message.

Bonne chance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
24 janv. 2022 à 15:03
En effet, j'ai réussi à démarrer sur un fichier iso (ubuntu) !
Voici le résultat de la commande sudo parted -l :


Je ne peux pas faire de copier/coller étant donné que je suis sur une VM (et que je n'arrive pas à ssh).

Par contre, je ne retrouve pas le fichier de configuration dans boot/grub :


Cela veut donc dire que depuis ubuntu (je ne l'ai pas installé, j'ai juste boot dessus), je peux supprimer l'une des partitions ??
0
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 7 801
Modifié le 24 janv. 2022 à 17:36
Bonjour

Merci pour ces réponses. On voit à ce stade d'ores et déjà que
/dev/sda1
est une partition swap. Reste à voir ce que contiennent
/dev/sda2
et
/dev/sda3
.

Pour information, dans un terminal windows, tu peux copier coller avec l'icône en haut à gauche et/ou en installant les additions invités (ce que je te recommande de faire pour plus de confort).

Préliminaires

Démarre sur ton live Ubuntu comme tu l'as fait, puis passe en root

sudo su -


Monte
/dev/sda2
dans
/mnt/sda2
:

mkdir -p /mnt/sda2
mount -t /mnt/sda2


Regarde son contenu et reporte-nous le résultat :

ls /mnt/sda2
  • Si tu vois des noms de dossiers comme
    boot, bin, etc, home, lib, usr, var
    , c'est une partition système (
    /
    ) ;
  • Si les dossiers portent des noms d'utilisateurs, c'est une partition
    /home
    .


Pour rappel, on n'est pas obligé de stocker
/home
dans une partition dédiée et c'est pourquoi les commandes
ls
dont je parlais vont nous permettre de savoir si tu as :
  • Cas 1 : deux partitions
    /
    et donc deux systèmes indépendants, sans partitions
    /home
    .
  • Cas 2 : une seule partition
    /
    et une seule partition
    /home
    (auquel cas, il n'y en vrai qu'un seul système, et ce que tu prends pour deux systèmes sont juste deux noyaux qui co-existent). Je rappelle au passage qu'on peut tout à fait avoir plusieurs noyaux installés pour un même système. En pratique, on démarre sur celui qu'on a choisi dans grub et les autres sont ignorés.


grub

La configuration de
grub
permettra également d'y voir plus clair. Admettons que
/mnt/sda2
correspondent soit une partition
/
, et que grub ait été installé depuis le linux hébergé sur cette partition. Alors le fichier
/etc/boot/grub/grub.cfg
correspond pour le système live au fichier
/mnt/sda2/etc/boot/grub/grub.cfg
(sinon on examinerait la configuration grub du système live, qui n'existe pas). Pour en regarder le contenu, tu peux lancer :

more /mnt/sda1/etc/boot/grub/grub.cfg


Ce qu'il faut regarder, c'est comment à quelle partition chaque entrée de menu de grub est associée. La partition / de chaque système est défini par la directive
set root
. Note que grub permet (via la touche e) de directement examiner sa configuration sans avoir a examiner le fichier de configuration qui l'a engendré.

Exemple : chez moi ma partition
/
est
/dev/sda6
. En notations grub correspond à
(hd0, gpt6)
ou
(hd0, msdos6)
selon le format de la table des partitions.

Cela signifie si dans
grub.cfg
, on voit tantôt du
(hd0, msdos2)
et
(hd0, msdos3)
dans ton cas, les deux partitions
/dev/sda2
et
/dev/sda3
correspondent toutes deux à une partition
/
.

Pour gagner du temps tu peux directement regarder le résultat de :

grep "set root" /mnt/sda1/etc/boot/grub/grub.cfg


(Reporte-nous le résultat)

Il ne reste plus qu'à démonter proprement cette partition :

cd /
umount /dev/sda2


Enfin, applique la même procédure avec
/dev/sda3
afin de comprendre pleinement ce qu'on a.

Pour finir

Vu que tu arrives à démarrer sur une Ubuntu tierce, tu peux de la même façon démarrer sur os-usinstaller. Il devrait te permettre de supprimer facilement le système de ton choix et de corriger grub en conséquence.

Si tu n'y arrives pas, les informations que tu nous aura donné nous permettront de faire à la main ce qu'os-uninstaller fait depuis ton live Ubuntu. Il suffira d'utiliser ton terminal pour supprimer l'éventuelle partition
/
à supprimer et régénérer grub. Je t'indiquerai la procédure une fois que j'aurai le résultat des commandes demandées et si tu ne t'en es pas déjà sorti par toi même avec os-usinstaller.

Bonne chance
0
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
25 janv. 2022 à 09:15
Bonjour,

Tout d'abord, merci pour vos explications ! Je ne suis qu'en deuxième année DUT Réseaux et Télécoms donc je continue d'apprendre !

J'ai suivi vos instructions et j'ai :
- créé le dossier /mnt/sda2
- monté la partition à l'intérieur (à l'aide de la commande mount -t)

Voici le résultat de la commande ls :


Comme vous pouvez le voir, le dossier /mnt/sda2 ne contient absolument rien...
Donc bien évidemment les commandes d'après ne fonctionnent pas. Il faut savoir que je suis sur ubuntu en live, et que je ne l'ai pas installé. Est-ce que c'est lié à cela ?

De plus, j'ai voulu installer os-uninstaller d'après le lien que vous m'avez donné :
La première commande "sudo add-apt-repository ppa:yannubuntu/boot-repair" a bien fonctionné mais la seconde : "sudo apt-get update; sudo apt-get install os-uninstaller && os-uninstaller" n'a pas fonctionné, elle m'a renvoyé des messages d'erreur :

Est-ce normal ? Sachant que j'ai bien accès à internet (ping 8.8.8.8 fonctionne) et que je suis bien connecté en tant que root..

Pour finir, voici la configuration de grub (depuis la touche e) de mes boots :
boot 1 (version 3.0) :



boot 2 (version 2.1) :



Sachant qu'entre temps, j'ai mis à jour les serveurs et au lieu d'avoir la version 1.3 et la version 2.0, j'ai désormais la version 2.1 et 3.0 en dualboot.

J'espère que cela vous aura aidé. C'est la première fois que je travaille sur des partitions et que j'essaie d'enlever un dualboot.

Tenez moi au courant
0
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
25 janv. 2022 à 12:08
Depuis une autre VM, j'ai réussi à désinstaller une version depuis os-uninstaller !



Mais mon problème vient de grub maintenant. Voici ce qu'affiche la VM lorsque je la relance (sans avoir modifié quoi que ce soit dans les paramètres de grub, j'ai juste installé os-installer et désinstallé la version 2.0) :
0
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 7 801 > Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
Modifié le 25 janv. 2022 à 14:28
Bonjour

Message #8

Vu le message #9, je pense qu'on peut ignorer le message #8, mais voici quels auraient été mes retours s'il n'y avait pas eu de message #9.

Comme vous pouvez le voir, le dossier /mnt/sda2 ne contient absolument rien...
Donc bien évidemment les commandes d'après ne fonctionnent pas. Il faut savoir que je suis sur ubuntu en live, et que je ne l'ai pas installé. Est-ce que c'est lié à cela ?


Est ce que la commande
mount
a fonctionné ? Si c'est le cas, tu devrais voir une ligne concernant
/mnt/sda2
quand tu tapes la commande
mount
.

Est-ce normal ? Sachant que j'ai bien accès à internet (ping 8.8.8.8 fonctionne) et que je suis bien connecté en tant que root..

Oui, tu ne peux pas lancer une application graphique en root (tu peux donc lancer os-uninstaller depuis un autre terminal, dans lequel tu n'es pas root). De plus, il faut au préalable que l'interface graphique soit lancée pour que l'application puisse s'y afficher. Ce devrait être le cas sur un live Ubuntu.

Configuration de grub

Reporte-moi plutôt le resultat de
grep "set root" grub.cfg
(en mettant le chemin adéquat pour
grub.cfg
) j'y verrai plus clair.

Message #9

Bravo pour os-uninstaller. Mais dommage apparemment, il n'est pas arrivé à corriger grub. Du coup il va falloir le réparer. La procédure est en gros la même que celle que je t'ai fait faire.

1) Démarre sur ton live Ubuntu
2) Monte la partition du système encore installé (je vais supposer que c'est
/dev/sda3
, adapte au besoin) :

sudo su -
mkdir -p /mnt/linux
mount /dev/sda3 /mnt/linux


Le but est maintenant de compléter ce qui est dans
/mnt/linux
pour reconstituer la même arborescence Linux que si tu avais démarré sur ce système. Ensuite on déplacera
/
au niveau de
/mnt/linux
à l'aide de la commande
chroot
.

Je vais supposer que tu n'utilises pas LVM et que ta partition n'est pas chiffrée avec LUKS. Si tu es dans l'un de ces cas dis-le moi et je te dirai comment adapter les instructions qui suivent.

mount --bind /dev /mnt/linux/dev
chroot /mnt/linux
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts


A partir de maintenant, tout se passe dans ce terminal comme si tu avais démarré sur ton système SINEMA. Ce qui était à l'époque
/mnt/linux/boot/grub/grub.cfg
est désormais
/boot/grub/grub.cfg
. En particulier, si tu lances la commande
update-grub
celui-ci sera généré conformément à ce fichier de configuration. Donc il suffit de lancer :

update -grub


Il ne reste plus qu'à quitter proprement :

umount /sys
umount /proc
umount /dev/pts
exit # quitte le chroot
umount /mnt/linux/boot
umount /mnt/linux/dev
umount /mnt/linux
reboot


Bonne chance
0
Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022 > mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024
26 janv. 2022 à 12:58
En effet, cela a fonctionné, j'ai réussi à supprimer la partition et cela a mis à jour grub ! Merci beaucoup pour votre aide !
0
mamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 7 801 > Sawney Messages postés 6 Date d'inscription lundi 24 janvier 2022 Statut Membre Dernière intervention 26 janvier 2022
26 janv. 2022 à 14:16
Félicitations et bonne continuation !
0