Page 1 sur 1

[ RESOLU ] Double boot centos 6 & 8 avec disque partagé

Publié : 02 octobre 2020, 11:02
par dcpc.dev
Bonjour,

J'ai une demande pour tests sur une machine particulière d'installer Centos 6 et 8 en double boot, avec un volume partagé entre les 2.
Machine ancienne avec un seul disque de 500Go.

Je commence par l'install du Centos 6 en ce moment en prévoyant ces partitions :
- 2 partitions primaires pour centos 6 : /boot en ext4 et un LVM pour le reste
- 1 partition primaire pour centos 8 : en LVM pour tout (/boot inclus)
- 1 partition primaire pour volume partagé

Pensez-vous que ce soit jouable ?

Je ne sais pas encore si je met le volume partagé en ext4 ou xfs.

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 02 octobre 2020, 12:27
par nouvo09
perso j'ai une machine avec 15 Os différents.

Ce que tu demandes est tout à fait courant.

1) zappe le lvm qui n'a aucun sens sur un disque de 500 G
2) Crée la partition /boot en ext3
3) tu peux dès lors créer une partition étendue sur tout le reste du disque et ainsi créer autant de partitions que tu voudras.
4) installe Centos6 sur une partition extXX que tu voudras
5) crée la/les partitions à partager (perso je les ai mises en fat32 ce qui me permet de les utliser avec win)
6) Installe Centos8 dans sa propre partition SANS INSTALLER LE CHARGEUR DE DÉMARRAGE
7) Redémarre sur ton media d'install de Centos8, choisis l'option "troobleshooting". Linstalleur va rechercher les installations présentes et va te proposer Centos6 et Centos8. Choisis Centos8. Le système te dira que la partition a été montée sous /mnt/sysimage
8) Comme proposé, fais un chroot: # chroot /mnt/sysimage.
9) Installe grub2: dnf install grub2. S'il est déjà installé, zappe
10) Installe le lanceur de grub2 sur la partition de Centos8: grub2-install /dev/sdaXX <- partition de Centos8. Le système doit refuser etc recommence en ajoutant l'option --force : grub2-install /dev/sdaXX --force
11) sors de chroot avec: exit
12 crée un répertoire dans le pseudo-fs: mkdir mnt2 (utiliser /mnt planterait tout)
13) monte la partition /boot dans ce répertoire: mount /dev/sda1 /mnt2
14) édite le fichier /boot/grub/grub.conf apres les autres kernels ajoute la section suivante:

Code : Tout sélectionner

 {title   Centos 8
        root (hd0,X)
        chainloader +1}
        
en remplacant X par le numéro de partition NUMÉROTÉ À PARTIR DE ZÉRO exemple: sda3= (hd0,2)
enregistre et reboote.
Centos 8 doit t'être présenté dans les choix au démarrage.

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 02 octobre 2020, 15:44
par dcpc.dev
Erf merci pour le détail.

On a tenté d'avancer direct (car bien sûr délai urgent :) ).

On a installé Centos 6 : Base OK.
On a installé Centos 8 : Base OK.
--> mais du coup on a laissé par défaut et pas sûr qu'il n'ait pas mis le chargeur de démarrage
Reboot
Que le Centos 8 de visible :(

Je tente la répa à nouveau maintenant
Par contre j'ai grub2 sur centos 8 pas grub.

avec les partitions par défaut, je me retrouve avec plus de partitions pour les OS :
sda1 : /boot centos 6
sda2 : LVM centos 6
sda3 : /boot centos 8
sda4 : partition de 1K ???
sda5 : LVM centos 8
(sda6 sera le futur volume partagé)

Important : installation en Legacy (vieux BIOS, pas d'UEFI)

Code : Tout sélectionner

# lsblk
NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                   8:0    0 465,8G  0 disk
├─sda1                8:1    0   512M  0 part
├─sda2                8:2    0  97,7G  0 part
│ ├─vg_sys-lv_swap  253:1    0     8G  0 lvm
│ ├─vg_sys-lv_var   253:5    0    32G  0 lvm
│ ├─vg_sys-lv_root  253:6    0    32G  0 lvm
│ └─vg_sys-lv_tmp   253:7    0     8G  0 lvm
├─sda3                8:3    0     1G  0 part /boot
├─sda4                8:4    0     1K  0 part
└─sda5                8:5    0    98G  0 part
  ├─vg_sys8-lv_root 253:0    0    50G  0 lvm  /
  ├─vg_sys8-lv_swap 253:2    0     8G  0 lvm  [SWAP]
  ├─vg_sys8-lv_var  253:3    0    32G  0 lvm  /var
  └─vg_sys8-lv_tmp  253:4    0     8G  0 lvm  /tmp
sr0                  11:0    1  1024M  0 rom
os-prober me voit bien le centos 6 :

Code : Tout sélectionner

# os-prober
/dev/mapper/vg_sys-lv_root:CentOS release 6.10 (Final):RedHat:linux

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 02 octobre 2020, 16:02
par dcpc.dev
du coup grub2 sur centos 8 a complètement changé.

il semble que les entrées de menu soient générées depuis les configs de /etc/grub.d/10-linux par ex.
du coup faudrait en rajouter une en 09-centos6 ....
ou un menu dans le 40_custom

Code : Tout sélectionner

 --> /etc/grub2/grub.cfg
 
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set pager=1

if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

terminal_output console
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
set tuned_initrd=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/01_menu_auto_hide ###
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then
  set last_boot_ok=1
else
  set last_boot_ok=0
fi

# Reset boot_indeterminate after a successful boot
if [ "${boot_success}" = "1" ] ; then
  set boot_indeterminate=0
# Avoid boot_indeterminate causing the menu to be hidden more then once
elif [ "${boot_indeterminate}" = "1" ]; then
  set boot_indeterminate=2
fi
set boot_success=0
save_env boot_success boot_indeterminate

if [ x$feature_timeout_style = xy ] ; then
  if [ "${menu_show_once}" ]; then
    unset menu_show_once
    save_env menu_show_once
    set timeout_style=menu
    set timeout=60
  elif [ "${menu_auto_hide}" -a "${last_boot_ok}" = "1" ]; then
    set orig_timeout_style=${timeout_style}
    set orig_timeout=${timeout}
    if [ "${fastboot}" = "1" ]; then
      # timeout_style=menu + timeout=0 avoids the countdown code keypress check
      set timeout_style=menu
      set timeout=0
    else
      set timeout_style=hidden
      set timeout=1
    fi
  fi
fi
### END /etc/grub.d/01_menu_auto_hide ###

### BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
  source ${prefix}/user.cfg
  if [ -n "${GRUB2_PASSWORD}" ]; then
    set superusers="root"
    export superusers
    password_pbkdf2 root ${GRUB2_PASSWORD}
  fi
fi
### END /etc/grub.d/01_users ###

### BEGIN /etc/grub.d/10_linux ###
insmod part_msdos
insmod ext2
set root='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  fa0224e8-c2e2-4918-967f-19190c3226f3
else
  search --no-floppy --fs-uuid --set=root fa0224e8-c2e2-4918-967f-19190c3226f3
fi
insmod part_msdos
insmod ext2
set boot='hd0,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=boot --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3 --hint='hd0,msdos3'  fa0224e8-c2e2-4918-967f-19190c3226f3
else
  search --no-floppy --fs-uuid --set=boot fa0224e8-c2e2-4918-967f-19190c3226f3
fi

# This section was generated by a script. Do not modify the generated file - all changes
# will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files.
#
# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and
# populates the boot menu. Please refer to the Boot Loader Specification documentation
# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/.

set default_kernelopts="root=/dev/mapper/vg_sys8-lv_root ro resume=/dev/mapper/vg_sys-lv_swap rd.lvm.lv=vg_sys8/lv_root rd.lvm.lv=vg_sys/lv_swap rd.lvm.lv=vg_sys8/lv_swap rhgb quiet "

insmod blscfg
blscfg
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 02 octobre 2020, 18:26
par nouvo09
Ecoute j'ai dit tout ce que j'avais à dire

tu n'en as fait qu'à ta tête.

Mon seul conseil now: vire tout et recommence comme je t'ai dit.

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 05 octobre 2020, 09:59
par dcpc.dev
Hey doucement :)

Là où je suis je ne pouvais pas suivre le forum en direct, on avait donc avancé comme on a pu.
Et du coup entre tes indications et les docs centos/rhel, depuis Centos 8 on a trouvé, mais la gestion a bien changé.

Le fichier (script) 30_os-prober permet de créer des entrées automatiques pour les autres OS détectés via la commande os-prober (qui fonctionne)

--> génération du grub.conf avec :

Code : Tout sélectionner

[root@centos-8 grub]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found CentOS release 6.10 (Final) on /dev/mapper/vg_sys-lv_root
done
Et les 2 centos apparaissent au boot.

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 05 octobre 2020, 11:14
par nouvo09
Ok ton premier post était à 11h . J'ai répondu à 12h20.
Et manifestement ce n'était pas assez rapide.
No comment

Pour info sda4 est une partition étendue.

Re: Double boot centos 6 & 8 avec disque partagé

Publié : 06 octobre 2020, 09:04
par dcpc.dev
Oula, bon tu interprètes comme tu veux. Mais c'est absolument pas ce que j'ai dit ...
Quand je dis :"JE ne peux pas suivre le forum en direct (comme je veux depuis mon boulot, car pour info, pas d'accès internet direct)", tu sous-entends que je me plains de ta réaction trop lente ... ben ... j'ai rien à rajouter à ce sujet.

Par contre, pour le double-boot c'est terminé et ça fonctionne.
Je reprendrais la solution complète depuis le début s'ils valident les env de démos.
Merci