J'utilise actuellement Ubuntu 13.04, elementaryos et Windows 8. J'aimerais également installer Backtrack pour une utilisation rare. Mais, j'ai déjà dépassé la limite de mes partitions. Alors, était-il possible de combiner deux partitions et d'installer toutes les distros linux dans cette partition ? partition unique avec un échange partagé ?
Réponses
Trop de publicités?Il est écrit de manière à pouvoir être lu en entier, à être parcouru ou à sauter des sections. Cependant, je recommande vivement de regarder la dernière section (" vous n'êtes peut-être pas vraiment limité à 4 partitions du tout ") avant de décider de ce qu'il faut faire, au cas où vous auriez un disque formaté en GPT ou si vous n'êtes pas soumis à la limite de 4 partitions.
Plusieurs "systèmes de fichiers" sur la même partition : ...Peut-être
Installation de plusieurs systèmes Linux dans la même partition pourrait serait possible, mais nécessiterait de lourdes modifications des systèmes, pour qu'ils accèdent aux bons fichiers.
Par exemple, différents systèmes d'exploitation utilisent généralement différents exécutables pour init
. Mais le fichier exécutable de init
est toujours censé exister à /sbin/init
. Pour ce problème et d'autres similaires, vous devriez au moins faire en sorte que les systèmes utilisent des arguments d'amorçage du noyau hautement personnalisés. Pour résoudre certains problèmes, vous devrez peut-être recompiler manuellement un noyau. Vous devrez également modifier les emplacements par défaut où les bibliothèques sont installées et où elles sont recherchées lorsqu'un programme utilisant une bibliothèque s'exécute, afin que les programmes installés dans un système d'exploitation n'utilisent pas les différentes versions d'un autre système d'exploitation de la même bibliothèque (qui seront parfois incompatibles). Pour que les gestionnaires de paquets fonctionnent comme vous le souhaitez, vous pouvez être amené à modifier leur code source et à les recompiler (ce qui signifie que vous ne pouvez pas mettre à jour le code source de la bibliothèque). les de la manière habituelle).
En principe, tout cela devrait être possible. En pratique, ce n'est pas forcément possible : vous ne parviendrez probablement jamais à le faire fonctionner avec un niveau de stabilité acceptable. Toutefois, si vous souhaitez tenter l'expérience, vous pourriez envisager de modifier les systèmes de manière à ce qu'ils chroot
en deux parties distinctes chroot jails au début du démarrage. Je pense que cela est possible et peut apporter la stabilité nécessaire. Peut-être que d'autres posteront des réponses avec des solutions spécifiques.
Sharing Swap : Assez facile, mais vous pouvez utiliser un ou plusieurs fichiers swap et pas de partitions swap !
En revanche, vous pouvez et il est assez facile de faire en sorte que différents systèmes d'exploitation GNU/Linux utilisent la même partition swap. En général, vous ne pourrez pas mettre en hibernation un système et démarrer sur un autre, mais beaucoup de gens n'utilisent pas l'hibernation de toute façon.
Dans tous les cas, si vous essayez de réduire le nombre de partitions que vous utilisez, vous pouvez supprimer entièrement la partition d'échange y utiliser fichiers d'échange au lieu de . (Vous pouvez même utiliser le même fichier de swap pour les swaps de plusieurs OS).
Mais ce que vous devriez en fait faire, si vous êtes limité à 4 partitions...
...est de faire une partition étendue. Celle-ci agit comme un conteneur pour les partitions et vous permet d'avoir effectivement plus de quatre partitions. sur un disque dont la table de partition est d'un type qui ne supporte que 4 partitions "primaires". .
Pour ce faire, démarrez à partir d'un CD/DVD/lecteur flash USB vivant et exécutez GParted. Si vous avez déjà quatre partitions, vous devrez d'abord en supprimer une. Il peut s'agir de la partition swap, comme virtualxtc suggère -à condition que vous ne soyez pas en hibernation. (Donc, éteignez ou redémarrez correctement plutôt que d'hiberner, avant de faire cela).
Voici quelques captures d'écran illustrant une situation simple où une partition étendue est créée. (Bien sûr, les tailles ici ne sont pas réalistes, car j'ai utilisé une petite clé USB pour créer les captures d'écran).
Cliquez avec le bouton droit de la souris sur le non alloué (soit dans la barre horizontale représentant le disque, soit dans la liste située en dessous) et cliquez sur Nouveau .
- Ou bien, cliquez (à gauche) sur la partition et cliquez sur Partition > Nouveau dans le menu.
- Ou (gauche) cliquez dessus et appuyez sur la touche Insérer clé.
La fenêtre ci-dessus apparaît alors. Cliquez à droite de Créer en tant que et sélectionnez Partition étendue . (Par défaut, il s'agit de Partition primaire ce qui n'est pas ce que vous voulez).
Donnez à la partition étendue la taille maximale.
Maintenant, à l'intérieur de la partition étendue, vous pouvez créer des partitions supplémentaires si nécessaire, en contournant la limite de 4 partitions.
Vous faites cela de la même manière que vous créez n'importe quelle partition dans GParted... juste... à l'intérieur de la partition étendue, qui sert de conteneur à d'autres partitions. Ces partitions sont appelées "partitions logiques" pour les distinguer des "partitions primaires" qui ne sont pas contenues dans une partition étendue.
Lorsque vous aurez fait cela, il ressemblera à quelque chose comme ceci (et alors vous pouvez cliquer sur la coche dans la barre d'outils, pour faire Edition > Appliquer toutes les opérations, pour appliquer vos changements.
Comme d'habitude, il est bon de s'assurer qu'au moins tous vos fichiers importants (par exemple, vos documents) sont sauvegardés avant d'effectuer un partitionnement.
Enfin, vous pourriez no être vraiment limité à 4 partitions du tout !
Comme vous le savez, les partitions sont formatées avant d'être utilisées. Mais le disque lui-même est aussi "formaté" d'une certaine manière. Les formats des partitions établissent le type de données qu'elles peuvent stocker et la manière dont les données (généralement des fichiers) sont stockées. Mais un disque est "formaté" avec une table de partition et d'autres informations. Il y a plus d'une genre de la table de partition. Une table de partition "msdos" (parfois appelée "msdos disklabel" ou "MBR partition table", bien que "MBR" soit utilisé dans d'autres contextes) est limitée à quatre partitions primaires.
Mais d'autres types de tables de partition ne sont pas du tout limités de cette manière, et vous pourriez utiliser un tel type. Bien sûr, si GParted a déjà a dit à que vous ne pouvez pas créer une autre partition primaire, il est peu probable que ce soit le cas.
Mais de nos jours, de nombreux disques durs, en particulier les disques contenant Windows 8 (surtout s'il est préinstallé) et les disques de plus de 2 téraoctets, sont formatés de la manière suivante GPT .
Une table de partition GPT (GUID Partition Table) ne vous limite pas à quatre partitions ; vous pouvez en créer davantage sans effort particulier ni solution de contournement. Donc, si vous n'avez pas encore essayé, je vous recommande de le faire. Parfois, les gens pensent qu'ils sont limités à quatre, mais ils ont en réalité un disque GPT et ne sont pas limités du tout.
Une façon de savoir si vous avez une table de partition "msdos" ou un autre type de table de partition moins contraignant est d'essayer de créer une cinquième partition (sans la faire entrer dans une partition étendue - les partitions étendues ne sont généralement pas possibles sauf avec une table de partition "msdos").
Une autre façon est de vérifier directement dans GParted. Pour ce faire, cliquez sur Affichage > Informations sur le périphérique. Un volet **Informations sur le périphérique* apparaîtra à gauche de la liste des partitions, sous la représentation horizontale du disque.
En revanche, si vous avez un disque GPT, vous verrez "gpt" au lieu de "msdos". (Il existe également d'autres types de table de partition, GPT et "msdos" sont juste les plus probables, sur un PC).
Notez que, bien qu'il soit possible de transformer un disque avec une table de partition "msdos" en un disque GPT dans GParted (avec Device > Create Partition Table...), Ce faisant, vous "effacerez" toutes les données du disque ! (C'est pourquoi je n'ai pas recommandé cela, comme solution à votre problème).
C'est possible, j'ai installé plusieurs distros sur la même partition, je vous explique ci-dessous comment faire. Je suis un peu fier d'avoir donné le premier exemple de fonctionnement.
J'ai trouvé quelques méthodes différentes pour transformer le chroot en sous-dossier amorçable mais elles ne mentionnent pas si leur méthode a fonctionné parfaitement et elles manquent de guide pas à pas.
https://unix.stackexchange.com/questions/39423/boot-linux-system-from-a-subdirectory-on-a-partition https://unix.stackexchange.com/questions/43283/boot-into-chroot-directory-leaves-the-root-partition-read-only https://superuser.com/questions/384437/booting-linux-system-from-chroot-is-there-a-better-way-to-do-this https://bbs.archlinux.org/viewtopic.php?pid=932362#p932362 Comment démarrer à partir d'une installation basée sur debootstrap ? http://markmail.org/message/vgttmcos2mr363nc https://serverfault.com/questions/174347/is-it-possible-to-mount-a-subdirectory-as-the-root-file-system-at-kernel-startup
J'ai d'abord contacté Kasper Dupont qui a fait un correctif du noyau pour y parvenir. Je lui ai envoyé les liens ci-dessus puis il est arrivé avec un script qui ressemble à une version améliorée de celui du premier lien.
Voici comment j'ai procédé :
Notez que toutes les commandes ci-dessous seront émises (sauf la partie entrée de menu dans l'étape 3) pendant que vous êtes dans chroot après comme
sudo chroot /precise
se souvenir du montage de mount /proc, mount /dev, mount /sys, mount /dev/pts
1) Installer un chroot dans "/precise". C'est un chroot ordinaire, mais vous devez faire quelques choses supplémentaires comme installer le noyau, ajouter un utilisateur, ajouter l'uuid de la partition à fstab, etc. Vous pouvez suivre ce tutoriel pour faire vous-même debootstrap(chroot). Vous n'avez pas besoin de pièces de montage car vous l'installerez sur la session utilisateur. http://www.thegeekstuff.com/2010/01/debootstrap-minimal-debian-ubuntu-installation/ https://help.ubuntu.com/community/DebootstrapChroot
2)Nommer le script ci-dessous "rootdir" et le déplacer dans le répertoire "/usr/share/initramfs-tools/hooks" dans le chroot "/precise" et le rendre exécutable si ce n'est pas le cas. Et exécutez "update-initramfs -u -k all".
3)Préparer le menu Grub pour que notre sous-répertoire démarre. J'ai ajouté l'entrée de menu ci-dessous au fichier "/etc/Grub.d/40_custom" et mis à jour Grub.
update-grub
Ici vous devez passer le chemin de votre chroot au paramètre "rootdir".
menuentry "boot into chroot" {
set root='hd0,msdos6'
linux /precise/boot/vmlinuz-3.8.0-34-generic root=UUID=c2d1b866-a0fd-4214- b79b-11b2af29da4d rootdir=/precise ro quiet splash
initrd /precise/boot/initrd.img-3.8.0-34-generic
}
Ma partition numéro sda6, mon Grub la voit comme msdos6, vous pouvez la passer selon vos paramètres. Notez que "/boot/initrd.img-3.8.0-34-generic" et "/boot/vmlinuz-3.8.0-34-generic" sont des chemins relatifs, ils pointent vers "/precise/boot/..."
La deuxième chose à noter est le passage de l'uuid de votre partition, dans mon cas c'est l'uuid sda6, vous pouvez trouver l'uuid des partions avec blkid.
Enfin, j'ai ajouté uuid à fstab pour monter automatiquement la partition (dans mon cas, sda6).
UUID=c2d1b866-a0fd-4214-b79b-11b2af29da4d / ext4 errors=remount-ro 0 1
Ce que script fait est de patcher initrd pour le laisser monter le sous-répertoire selon le paramètre script rootdir.
J'espère que vous le trouverez utile.
#!/bin/bash
set -e
if [ "$1" = prereqs ]; then
exit 0
fi
. /usr/share/initramfs-tools/hook-functions
DEFAULT_DIR="$(/usr/bin/grub-mkrelpath /)"
cat >"$DESTDIR"/scripts/local-bottom/rootdir <<EOF
#!/bin/sh
PREREQ=""
prereqs()
{
echo "\$PREREQ"
}
case \$1 in
prereqs)
prereqs
exit 0
;;
esac
ROOTDIR="$DEFAULT_DIR"
for x in \$(cat /proc/cmdline); do
case \${x} in
rootdir=*)
ROOTDIR="\${x#rootdir=}"
;;
esac
done
if [ -n "\${ROOTDIR#/}" ] && [ -d "/root/\${ROOTDIR}" ]
then
[ -d /rootfs ] || mkdir -m 0700 /rootfs
mount --move "/root" "/rootfs"
mount --bind "/rootfs/\${ROOTDIR}" "/root"
umount "/rootfs"
fi
EOF
chmod 0755 "$DESTDIR"/scripts/local-bottom/rootdir
EDIT : la partie menuentry de l'étape 3 n'est pas dans chroot. C'est dans la session de l'utilisateur.
Depuis Eliah a volé élargi ma réponse originale et l'a transformée en une livre Je vais vous expliquer quelques façons d'exécuter une autre distro linux à l'intérieur de vos partitions existantes sans problème ; toutes ces méthodes nécessitent une sorte de division afin que les programmes, scripts et les fichiers de configuration de chaque distro ne se chevauchent pas ; ce qui est traditionnellement l'une des principales raisons d'utiliser une partition.
-
Vous pouvez exécuter la nouvelle distribution dans une machine virtuelle, comme Virtual Box.
Este La mise en place a été abordée sur askUbunt. déjà.
Cela présente l'inconvénient d'exécuter une distribution dans une machine virtuelle, ce qui présente de nombreux inconvénients : moins de mémoire vive, moins de processeur et une interface moins directe avec les composants matériels. Cependant, cette solution est devenue suffisamment efficace pour devenir assez courante dans les grands environnements de serveurs.
-
Vous pouvez écrire une image live cd directement sur votre disque dur et configurer le boot loader pour démarrer à partir de celle-ci.
La façon la plus simple de le faire est d'utiliser UnNetBootin. Ce [how-to sur Sofpedia] fournit un bon exemple de la manière d'utiliser UnNetBootin pour accomplir cette tâche. ( http://news.softpedia.com/news/How-to-Boot-ISO-Images-from-Your-Hard-Drive-190443.shtml ) à des fins d'archivage. Cependant, cela peut également être fait à l'intérieur des fenêtres. comme décrit ici . Dans ce même article, ils affirment que l'installation de l'iso dans un dossier est aussi simple que :
-
Entrez ces commandes :
sudo mkdir /distro
sudo chown `whoami`:`whoami`
cp <YOUR-DOWNLOADED>.iso /distro/distro.iso
-
Extraire Linux_kernel de l'iso & Ram_disk vers /distro
-
Abrir
/boot/grub/menu.lst
et ajoutez ce qui suit :#``ADD NEW ENTRY``#
title Install Linux
root (hdX,X)
kernel /distro/<YourDownloadedLinuxKernel>
initrd /distro/<YourDownloadedRamDisk>
-
-
Vous pourriez vouloir créer et étendre un disque virtuel
Je pense que l'option n°2 vous limite à l'espace disponible dans l'iso, ce qui rend l'installation de plus d'applications difficile (vous pouvez toujours migrer certains des points de montage vers un espace non virtualisé). Je ne sais pas exactement comment faire cela sous Linux, mais je sais que c'est très courant dans les systèmes virtualisés (option 1), mais je crois que c'est le comportement par défaut lorsque l'on utilise un système d'exploitation virtuel. utiliser Wubi pour installer Ubuntu dans Windows .
Partage de swap entre distros
C'est généralement fait par défaut pendant l'installation si la partition peut être vue par l'installateur et est marquée en conséquence. Si vous virtualisez, vous devrez rendre les disques physiques transparents pour le système afin d'en profiter. Pour virtualbox, cela se fait par installation d'additifs pour invités .