web-dev-qa-db-ja.com

Grubを新しいドライブに移動してWindowsを削除する

しばらく前に、SSDにLinuxをインストールしました。sdb1。また、ホームディレクトリsdc1用に1テラバイトのドライブがあります。別のハードドライブsda1にWindowsがありますが、2年以上も起動していません。サイズはテラバイトです。 Linuxを再インストールせずにWindowsを取り除き、その余分なスペースを利用したいのですが、GrubはWindowsのハードドライブsda1にあります。 Windowsドライブsda1をフォーマットして余分なスペースを確保するために、可能であれば、GrubをSSD(sdb1)に配置します。コンピューター上のレガシーBIOSです。

5
Bruce B

私はダミーの実用的なコンピューターで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にあります。

enter image description here

enter image description here

enter image description here

Windows10がsda2にEFIパーティションがあるデバイスsdaにインストールされていることがわかります。これが現在grubを制御しているものです。

重要:このパーティションsda2には、デバイスsdb上のファイル/ etc/fstab内のテキストと一致するUUIDがあります。

Sdaをフォーマットする予定です。 sdbにEFIシステムパーティションを作成する必要があります。 sdbには1つのパーティションsdb1のみがあります。ディスクの起動時にEFIパーティションを作成する必要があります。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

これで、ディスクsdbの開始時に100MBの未割り当て領域ができました。これにgrubをインストールするには、ブートフラグとespフラグを使用してFAT32形式でgrubが必要です。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

ここで確認すると、ディスクの先頭に100MBのEFIパーティションが作成されています。 sdb1という名前を付ける必要があります。しかし、gpartedはまだsdb2として表示します。これを整理する
run Sudo sgdisk -s /dev/sdb

enter image description here

次に、sdaのEFIパーティション(sda2)を削除するか、デバイスsda全体をフォーマットできます。

enter image description here

ここで、/ dev/sdbにgrubをインストールする必要があります。

手順:

  1. Sudo mount /dev/sdb2 /mnt#ルートパーティションをマウントします。 (sdb2はext4 /です)
  2. for i in /sys /proc /run /dev; do Sudo mount --bind "$i" "/mnt$i"; done
    (必要なフォルダーのバインド)。
  3. Sudo mount /dev/sdb1 /mnt/boot/efi#sdb1はsdbのEFIパーティションです。
  4. Sudo chroot /mnt
  5. update-grub
  6. grub-install /dev/sdb
  7. update-grub
  8. exit

次に、デバイスsdbに新しく作成されたEFIパーティション(sdb1)のUUIDを知る必要があります。

「ディスク」アプリを開きます。
sdb1のUUIDをコピーします。
fstabファイルを開きます。
Sudo nano /mnt/etc/fstab。 (注:私はgeditを使用しました。添付の写真は以下のgeditです)。
儀式の場所にUUIDを貼り付けます。

保存して閉じます。

enter image description here

enter image description here

enter image description here

次にリブートします。

enter image description here

6
PRATAP

レガシーBIOSモードでGrubをブートすると、現在のUbuntuインストールを使用して、grub-installで任意のドライブにGrubをインストール(再)できます。 (起動できないシステムにGrubを再インストール/修復する必要がある場合のように、稼働中のシステムを起動する必要はありません。)

  1. 実行:

    Sudo grub-install /dev/sdX
    

    sdXを、今後ブートデバイスとして使用するドライブに現在割り当てられている名前に置き換えます。

  2. 新しいGrubインストールでドライブから起動するようにBIOSを構成します。

古いGrubインストールを削除する必要はありません。

3
David Foerster