Je veux utiliser Ubuntu Wubi 11.04 et Ubuntu Wubi 12.04 pour que le menu de démarrage affiche 3 options : Windows, Ubuntu 11.04 et Ubuntu 12.04. Mon approche actuelle est de n'utiliser que l'un ou l'autre, et de désactiver l'autre. Existe-t-il un moyen de le faire ?
Réponse
Trop de publicités?Vous ne pouvez pas le faire via le gestionnaire de démarrage de Windows. Vous ne pouvez le faire qu'avec la commutation manuelle (comme vous le faites apparemment) ou via une entrée Grub personnalisée.
Pas à pas :
- installer la première version (11.10 ou 12.04)
- copie
\ubuntu
dans le répertoire\ubuntufirst
(ou pour aller plus vite, renommer en\ubuntufirst
puis créez un nouveau\ubuntu
avecuninstall-ubuntu.exe
qui est nécessaire pour désinstaller la première version) - installer la deuxième version
-
démarrer Ubuntu et ajouter une entrée Grub personnalisée pour démarrer la première version. Vous éditeriez
/etc/grub.d/40_custom
puis exécutezsudo update-grub
. Vous pouvez copier l'entrée à partir du/boot/grub/grub.cfg
sur l'installation que vous souhaitez démarrer. Un exemple d'entrée ressemblerait à ce qui suit :menuentry 'Ubuntu, Other Wubi' --class ubuntu --class gnu-linux --class gnu --class os { set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ntfs set root='(hd0,msdos3)' search --no-floppy --fs-uuid --set=root YOUR-UUID-HERE loopback loop1 /ubuntufirst/disks/root.disk set root=(loop1) linux /vmlinuz root=UUID=YOUR-UUID-HERE loop=/ubuntufirst/disks/root.disk ro quiet splash vt.handoff=7 initrd /initrd.img }
Quelques points à noter : vous modifiez loop0
a loop1
parce que loop0
sera déjà utilisé (avec votre installation d'origine). Utilisez également /vmlinuz
au lieu de /boot/vmlinuz-3.x.x-x-generic
car vous n'avez alors pas besoin de le mettre à jour en permanence ( /vmlinuz
(les points sont les plus récents). Il en va de même pour /initrd.img
Voici mon exemple de travail (dans ce cas, la copie se trouve dans le même fichier \ubuntu\disks
) :
#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry 'Ubuntu - backup precisenew.disk' --class ubuntu --class gnu-linux --class gnu --class os {
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ntfs
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set=root 18B4B7BBB4B799A8
loopback loop1 /ubuntu/disks/precisenew.disk
set root=(loop1)
linux /vmlinuz root=UUID=18B4B7BBB4B799A8 loop=/ubuntu/disks/precisenew.disk ro quiet splash vt.handoff=7
initrd /initrd.img
}
Voici à quoi il ressemble lorsqu'il est démarré
bcbc@arcturus:~$ mount | grep ' / '
/dev/loop0 on / type ext4 (rw,errors=remount-ro)
bcbc@arcturus:~$ sudo losetup /dev/loop0
/dev/loop0: [0803]:34470 (/host/ubuntu/disks/precisenew.disk)
bcbc@arcturus:~$
Si vous utilisez cette technique, vous devriez probablement mettre à jour /etc/fstab
pour refléter les nouveaux emplacements. Cela n'affectera pas les /
mais si vous avez un /home
ou vous voulez utiliser la bonne swap.disk
.
À mon avis, cette solution n'est pas utile pour la plupart des gens. Wubi est conçu pour être simple pour les débutants. Mais si vous l'utilisez pour tester différentes versions, il n'y a pas beaucoup d'options pour les démarrer, à part renommer le fichier \ubuntu
et mise à jour C:\wubildr
à chaque fois.
NOTE : Lorsque Grub est mis à jour sur une installation Wubi, il reconstruira le fichier /wubildr
et il pointera vers le disque virtuel actuel. Dans l'exemple ci-dessus, il pointera sur precisenew.disk
. Cela n'est probablement pas souhaitable car il est plus simple d'avoir une maître installer. Pour éviter que cela ne se produise, vous pouvez soit conserver des sauvegardes de vos C:\wubildr
ou de modifier le fichier /usr/share/lupin-support/grub-mkimage
sur l'installation secondaire (pas le principal) :
--- /mnt/usr/share/lupin-support/grub-mkimage 2011-09-20 03:44:44.000000000 -0700
+++ /usr/share/lupin-support/grub-mkimage 2012-10-29 22:02:55.784517389 -0700
@@ -112,7 +112,7 @@
exit 1
fi
fi
-
+exit 0 # for non-primary install, bypass creation of wubildr
wubildr_partitions="$(find_wubildr)"
if [ ! -f "$target" ] && [ -z "$wubildr_partitions" ]; then