しばらく前に、SSDにLinuxをインストールしました。sdb1。また、ホームディレクトリsdc1用に1テラバイトのドライブがあります。別のハードドライブsda1にWindowsがありますが、2年以上も起動していません。サイズはテラバイトです。 Linuxを再インストールせずにWindowsを取り除き、その余分なスペースを利用したいのですが、GrubはWindowsのハードドライブsda1にあります。 Windowsドライブsda1をフォーマットして余分なスペースを確保するために、可能であれば、GrubをSSD(sdb1)に配置します。コンピューター上のレガシーBIOSです。
私はダミーの実用的なコンピューターで1台のhddと1台のssdでトレイルをしました。
私は、HDDにgptパーティショニングタイプでUEFIブートモードでWindowsをインストールしたと思います。 sda。
私のものはダミーの実用的なコンピューターなので、バックアップについて心配する必要はありません。バックアップを取ることをお勧めします。
他の空きドライブがないため、別のホームパーティションのsdcを検討していません。
手順:
Ubuntuのライブセッションでログオンします。
これが私のsda-1tb hddとsdb-120gb ssdです。
sdaにはwindows10、sdbにはUbuntu18.04.1があります。 Grubはsdaにあります。
Windows10がsda2にEFIパーティションがあるデバイスsdaにインストールされていることがわかります。これが現在grubを制御しているものです。
重要:このパーティションsda2には、デバイスsdb上のファイル/ etc/fstab内のテキストと一致するUUIDがあります。
Sdaをフォーマットする予定です。 sdbにEFIシステムパーティションを作成する必要があります。 sdbには1つのパーティションsdb1のみがあります。ディスクの起動時にEFIパーティションを作成する必要があります。
これで、ディスクsdbの開始時に100MBの未割り当て領域ができました。これにgrubをインストールするには、ブートフラグとespフラグを使用してFAT32形式でgrubが必要です。
ここで確認すると、ディスクの先頭に100MBのEFIパーティションが作成されています。 sdb1という名前を付ける必要があります。しかし、gpartedはまだsdb2として表示します。これを整理する
run Sudo sgdisk -s /dev/sdb
次に、sdaのEFIパーティション(sda2)を削除するか、デバイスsda全体をフォーマットできます。
ここで、/ dev/sdbにgrubをインストールする必要があります。
手順:
Sudo mount /dev/sdb2 /mnt
#ルートパーティションをマウントします。 (sdb2はext4 /です)for i in /sys /proc /run /dev; do Sudo mount --bind "$i" "/mnt$i"; done
Sudo mount /dev/sdb1 /mnt/boot/efi
#sdb1はsdbのEFIパーティションです。Sudo chroot /mnt
update-grub
grub-install /dev/sdb
update-grub
exit
次に、デバイスsdbに新しく作成されたEFIパーティション(sdb1)のUUIDを知る必要があります。
「ディスク」アプリを開きます。
sdb1のUUIDをコピーします。
fstabファイルを開きます。Sudo nano /mnt/etc/fstab
。 (注:私はgeditを使用しました。添付の写真は以下のgeditです)。
儀式の場所にUUIDを貼り付けます。
保存して閉じます。
次にリブートします。
レガシーBIOSモードでGrubをブートすると、現在のUbuntuインストールを使用して、grub-install
で任意のドライブにGrubをインストール(再)できます。 (起動できないシステムにGrubを再インストール/修復する必要がある場合のように、稼働中のシステムを起動する必要はありません。)
実行:
Sudo grub-install /dev/sdX
sdX
を、今後ブートデバイスとして使用するドライブに現在割り当てられている名前に置き換えます。
新しいGrubインストールでドライブから起動するようにBIOSを構成します。
古いGrubインストールを削除する必要はありません。