web-dev-qa-db-ja.com

Linux Mint 17 Cinnamon / Ubuntu 14.04 / Windows 8をトリプルブートする方法

Ubuntu 14.04とWindows 8をデュアルブートシステムとしてインストールしましたが、今度はLinux Mint 17をインストールし、トリプルブートシステムを使用します。トリプルブートでMint 17を使用するにはどうすればよいですか? HDDをパーティション化するにはどうすればよいですか? USBでインストールし、Windowsインストーラーは使用しないでください。

7
αғsнιη

通常通りインストールしてください。 USBから起動して、インストーラの手順に従ってください。インストール前に手動でパーティションを作成するか、Mintインストーラーが提供するツールを使用して、インストールプロセス中にパーティションを作成できます。

あなたが本当に心配しなければならない唯一のことは、インストーラーがブートローダー(GRUB)をインストールするかどうか尋ねるときです。次に、2つの選択肢があります。 GRUB Ubuntuによってインストールされているため、mintから新しいものをインストールせずにUbuntuを使用するか、またはMintをインストールしてUbuntuを上書きするかを選択できます。

  1. 既存のGRUBを使用します。

    インストーラーがブートローダーをインストールするかどうか尋ねてきたら、いいえと言います。インストールが完了したら、Ubuntuを再起動してロードします(Mintは使用可能なOSのリストに表示されません)。 Ubuntuから、GRUBを更新して、新しいMintインストールを検出できるようにします。

    Sudo update-grub
    
  2. MintのGRUBを使用します。

    インストーラーがブートローダーをインストールするかどうか尋ねてきたら、yesと言います。 UbuntuのGRUBがインストールされたのと同じ場所にインストールしてください。これはおそらくプライマリハードドライブのマスターブートレコード(MBR)です。再起動すると、Mint's = GRUB=インストールされており、Mint、Ubuntu、またはWindowsを選択できるようになります。

7
terdon

ほとんどのシステムは、異なるパーティションからの異なるインストールの起動をサポートしています。各インストールに独自のGRUBのコピーがある場合、複数のLinuxインストールを使用したマルチブートが最適に機能することがわかりました。

GRUB内からのロードGRUBは、最新バージョンのGRUBを使用している場合は非常に簡単です。

この/etc/grub.d/40_customファイルを使用すると、Ubuntuの異なるバージョン間でマルチブートできます。他のディストリビューションでも同じように見えるはずですが、構成ファイルの名前は異なる場合があり、core.imgへのパスはそれぞれの場合で明らかに異なります。

#!/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.

set timeout=25
set timeout_style=menu

menuentry 'Raring' { multiboot /raring/boot/grub/i386-pc/core.img }
menuentry 'Saucy' { multiboot /saucy/boot/grub/i386-pc/core.img }
menuentry 'Trusty' { multiboot /trusty/boot/grub/i386-pc/core.img }

単一のパーティションから複数のLinuxディストリビューションを起動することが可能です。私はこれをすぐにサポートするディストリビューションを知りませんが、ほとんどのディストリビューションは小さな変更でそれを行うことができます。私はこの/usr/share/initramfs-tools/hooks/rootdirファイルを使用して、パーティションのルートからではなく、サブディレクトリからUbuntuとDebianを起動しています。

#!/bin/sh
# /usr/share/initramfs-tools/hooks/rootdir

set -e

if [ "$1" = prereqs ]; then
    exit 0
fi

. /usr/share/initramfs-tools/hook-functions

DEFAULT_DIR="$(/usr/bin/grub-mkrelpath /)"

mkdir -p "$DESTDIR"/scripts/local-bottom
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
0
kasperd