以前のGRUBに影響を与えずにLinuxシステムをインストールする方法は?

以前のGRUBに影響を与えずにLinuxシステムをインストールする方法は?

現在、Linuxシステムとさまざまなディストリビューションをテストするための異なるパーティションがあります。しかし、私はいつもこれらのシステムを同じ方法でインストールするので、GRUBブートリストは変わりますが、GRUB自体は最後にインストールされたシステムにインストールされているようです。つまり、最後にインストールしたシステムでGrub Customizerを使用してGRUBリストを編集できますが、他のシステムにインストールされているGrub Customizerを使用して変更したことはGRUBブートリストには影響しません。 GRUBをメインシステムに復元し、Grub Customizerを使用してGRUBを編集できるように、ライブUSBセッションでGrub Repairを使用してメインパーティションにGRUBをインストールしました。

別のパーティションに新しいシステムをインストールしても、GRUBリストとそのすべての設定に影響を与えない可能性がありますか? (新しい項目を追加することに加えて。)

上記の経験には、Ubuntuベースのディストリビューション、Manjaro、Deepin、KaOS、OpenSuseが含まれます。

答え1

ブートされたUbu-Live-Systemを介して別のパーティションにUbuntuシステムをインストールすることは(通常)次のように行われます。どこでも、インストーラ。

ユビキタスを実行する一般的な方法は、Live-Desktop(XDG-Starter)でアイコンをダブルクリックすることです。しかし、どこにいても少しあります。cmd ラインオプション、これを使用するには、XDG-Starterを編集して保存し、次の行を変更する必要があります。

Exec=ubiquity -b

または、端末でユビキタスを実行してください。

ubiquity -b

オプション-b意味: no-boot-loader-installation

新しい開始項目は次の場所にあります。もうそこにいます。 grub.cfg~のすでに存在するLinux読む必要があります:

menuentry "New-Ubu" {
    root=hd0,2
    linux /vmlinuz
    initrd /initrd.img
}

=== New-Ubuをこのように起動すると、===

hd0,2たとえば、最初のハードドライブのパーティション2と次の行)ターミナルに次のように入力できます。

sudo grub-install --boot-directory=/boot/ --force /dev/sda2

挿入に関する警告は無視できます。

そしてその後

sudo update-grub

/boot/grub/grub.cfg現在実行中のNew-Ubuの内容を再生成する必要があります。これで、New-Ubuシステムは「自己」起動し、後でNew-Ubuを再起動できます。

  • 誰でもチェーンロード(推奨されていません:上記の無視された警告は、New-Ubu root-fsのe2fsckの後に正当化される可能性があります。)
  • またはロード(現在作成済み)構成ファイル /boot/grub/grub.cfg新しい-Ubu-root-fs(/dev/sda2)

これを行うには、次の操作を行う必要があります。変える上記のメニュー項目/boot/grub/grub.cfg すでに存在するLinux次のように:

menuentry "New-Ubu" {
    configfile (hd0,2)/boot/grub/grub.cfg
}

これはまた、update-grub(起動時にKVM-gfx-modeに関連するもの)によって暗黙的に作成された必須カーネルオプションも反映しており、前述のメニュー項目からNew-Ubuを起動したときに発生する可能性がある問題を解決します(実際には次のシンボリックリンクを使用)。ルートディレクトリ、カーネルオプションなし...)

PS:はい32/64ビット版の問題です。Linuxディストリビューションと正しくインストールされたブートローダ。 32ビットまたは64ビットを100%固守することをお勧めします。

それは面白いです!さらに重要なことは、私はバグバニーが好きだということです。 wqwqwqwqwqwqwqq;)

答え2

万座路が参加していない場合

以下を使用して作成したブートメニューのカスタマイズに触れることなく、新しいパーティションに新しいLinuxをインストールする方法はありません。グラップカスタマイザー以前にインストールされたLinuxシステムには単純なソリューションがあります。そのカスタマイズを復元使用して始動修理

別のパーティションに新しいLinuxをインストールすると、古いLinuxシステムでGrub Customizerで編集された起動メニューが置き換えられます。実際にカスタマイズされたデータは失われませんが、以前のLinuxインストールのパーティションに存在します。また覆うそれ。

これは、最後のLinuxインストールが残っている(ブートメニューがある)、削除するか(ブートメニューがまったくなく、まったく起動できない)ことができます。

アイデアは、LinuxシステムのLive USBでブートリカバリを使用することです。

したがって、ライブLinux環境で起動し、ブートリカバリをインストールします。ツールをインストールするためにここで使用する方法は次のとおりです。UbuntuベースのLinuxを使用してください。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

起動回復が始まります。

  • 詳細オプションの選択

[下の画像はローカルインストールで撮影したものであるため、一部の仕様(「使用中のオペレーティングシステムなど」)が異なる場合や存在しない場合があります。)

ここに画像の説明を入力してください。

  • 最初のタブの下のデフォルトオプションは変更せずに残します。

ここに画像の説明を入力してください。

  • Grub Locationタブで:デフォルトの起動オペレーティングシステム - Grub Customizerで起動リストを編集したデフォルトのLinuxインストールを選択します。 GRUBの配置:上記と同じLinuxインストール用のパーティションを選択します。

ここに画像の説明を入力してください。

  • [Grub オプション] タブで、次の操作を行います。選択解除「インストール前にGrubをクリア」

ここに画像の説明を入力してください。

  • MBRオプションを変更しないでください

  • 「追加オプション」タブで:起動フラグをオンに設定 - Grub Customizerで起動リストを編集したのと同じデフォルトのLinuxインストールを選択します。

ここに画像の説明を入力してください。

適用する。

起動回復がプロセスを完了した後に再起動すると、Grub Customizer設定で設定されたスタートアップリストとテーマが表示されます。


万座路が関与した場合

次の事実を考えてみましょう。私の経験によるとManjaroが最後にインストールされたLinuxの場合、上記のプロセスによってシステムにアクセスできなくなる可能性があります。(KDE、Xfce、Fluxbox Manjaroでテスト済み)

また、GrubのカスタマイズプログラムはManjaroで正しく動作しないようです。変更を保存できないというエラーが発生します。

Manjaroがインストールされていない場合にのみ上記をお勧めします。(または削除したい場合)。

他のLinux(Ubuntuなど)をインストールするときにManjaroがすでにインストールされている場合、Manjaroは独自のgrubのみを使用できるため起動しません。 Manjaro grubは、インストールされているすべてのシステムで復元して使用できます。 (Grubカスタムプログラムでは動作しないようですが、最後に実行された項目を覚えているなどの拡張機能があります)。

Manjaroスタートリストを復元する(~ここに示す通り~):

grub>別のLinux grubメニューで「c」を押してgrubプロンプト()に入ります。

グラッププロンプトで:

grub> search.file /boot/intel-ucode.img root
grub> configfile /boot/grub/grub.cfg

これでManjaro grubメニューが表示され、最初の(上部)エントリに入力するとManjaroから起動します。

ターミナルからManjaroから起動すると、

sudo grub-install /dev/sda
sudo update-grub

関連情報