Je veux utiliser Ubuntu Wubi 11.04 et Ubuntu Wubi 12.04 afin que le menu de démarrage affiche 3 options: Windows, Ubuntu 11.04 et Ubuntu 12.04. Mon approche actuelle consiste à utiliser uniquement l'un d'eux et à désactiver l'autre. Y a-t-il un moyen de le faire?
Vous ne pouvez pas le faire via le gestionnaire de démarrage 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:
\ubuntu
répertoire vers \ubuntufirst
(ou pour être plus rapide, renommer \ubuntufirst
, puis créez un nouveau \ubuntu
répertoire avec uninstall-ubuntu.exe
, qui est nécessaire pour désinstaller la première version)démarrez Ubuntu et ajoutez une entrée grub personnalisée pour démarrer la première version. Vous éditez /etc/grub.d/40_custom
puis exécutez Sudo 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 serait quelque chose comme ceci:
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 choses à noter ... vous changez loop0
à loop1
car loop0
sera déjà utilisé (avec votre installation d'origine). Utiliser aussi /vmlinuz
au lieu de /boot/vmlinuz-3.x.x-x-generic
parce que vous n'avez pas besoin de continuer à le mettre à jour (/vmlinuz
pointe vers la dernière). De même pour /initrd.img
Voici mon exemple de travail (dans ce cas, la copie est dans le même \ubuntu\disks
dossier):
#!/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 au démarrage
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 emplacements mis à jour. Cela n'affectera pas /
mais si vous avez un /home
ou vous souhaitez utiliser le bon swap.disk
.
À mon avis, ce n'est pas une solution 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 \ubuntu
répertoire et mise à jour C:\wubildr
chaque fois.
NOTE : Lorsque Grub est mis à jour sur une installation Wubi, il reconstruit le /wubildr
fichier et cela pointera vers le disque virtuel actuel. Dans l'exemple ci-dessus, il pointera sur precisenew.disk
. Ceci n'est probablement pas souhaitable car il est plus simple d'avoir une installation maître . Pour éviter cela, vous pouvez soit conserver des sauvegardes de votre C:\wubildr
fichier ou modifier /usr/share/lupin-support/grub-mkimage
sur l'installation secondaire (pas la principale):
--- /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