Windows 7 64ビットを搭載したSony Vaio SVS15があり、ドライブケージのオプティカルドライブをSSDに交換しました。私の目標は、元のハードドライブ(SSD)にWindowsのみを維持し、2番目のドライブ(光学ドライブの場所)にArch Linuxをインストールすることです。
新しいSSDインストールがスムーズで正しく検出され、フォーマットされました。このチュートリアルの指示に従って、USBスティックからArch Linuxをインストールしました。
私が経験している問題は、コンピュータを起動するとすぐにWindowsに入り、Windowsの後にArchをインストールしたことです。どちらのドライブもGPTを使用し、Windows 7 64ビットはUEFIをサポートします。
私の質問は:ArchがあるSSD(つまり、オプティカルドライブがある場所)に問題があると思いますか?それとも私がArch / Grubをインストールした方法から来たと思いますか?
これは、一方向または別の方向に検索するのに多くの役に立ちます。
注:BIOSの起動順序にはまだ「光学ドライブ」があります。つまり、SSDと交換したときに変更されませんでした。したがって、オプションは次のようになります(現在設定されている順序で)。
- 内部光学ドライブ
- 外部機器
- 内蔵ハードドライブ
- ネットワーク
ありがとうございます!
編集する:
愚かなミスをした場合に備えて、インストールプロセスを再実行しました。それでも動作しませんが、Grub2の設定時に関連する可能性があるメッセージが見つかりました。私が入力したコマンドは次のとおりです。
grub-mkconfig -o boot/grub/grub.cfg
以前これを行いarch-chroot
、/boot に 512MiB EFI パーティションをインストールしました。コマンドを実行すると、いくつかの警告と「無効なマジックナンバー」メッセージが表示されます。その後、「完了」と表示されるので、これがバグかどうかはわかりません。
[root@archiso /]# grub-mkconfig -o boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
[ 171.937201] FAT-fs (md126p4): bogus number of reserved sectors
[ 171.940041] squashfs: SQUASHFS error: Can't find a SQUASHFS superblock on md126p4
[ 171.942729] EXT4-fs (md126p4): VFS: Can't find ext4 filesystem
[ 171.945366] EXT4-fs (md126p4): VFS: Can't find ext4 filesystem
[ 171.948756] EXT4-fs (md126p4): VFS: Can't find ext4 filesystem
[ 171.955360] FAT-fs (md126p4): bogus number of reserved sectors
[ 171.957919] ntfs: (device md126p4): read_ntfs_boot_sector(): Primary boot sector is invalid.
[ 171.958986] ntfs: (device md126p4): read_ntfs_boot_sector(): Mount option error=recover not used. Aborting without trying to recover.
[ 171.960112] ntfs: (device md126p4): ntfs_fill_super(): Not an NTFS volume.
[ 171.965184] ufs: You didn't specify the type of your ufs filesystem
[ 171.965184]
[ 171.965184] mount -t ufs -o ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
[ 171.965184]
[ 171.965184] >>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
[ 171.970303] ufs: ufs_fill_super(): bad magic number
done
答え1
ブログ投稿を読むhttp://gpuenteallott.blogspot.co.uk/2012/12/dual-boot-windows-7-and-ubuntu-with-uefi.htmlこれは、Windowsが起動時にGrubをバイパスしてインストールされている他のオペレーティングシステムを常に無視するSony Vaioコンピュータの問題のようです。著者は私に合った解決策を提供したので、以下で説明します。
注1:実際に切り替えることにした後、Arch LinuxではなくUbuntuでこれを試しましたが、ここで問題はLinuxバージョンではなくWindowsのインストール方法に関連していると思いますので、これがArchにも当てはまると思います。そうでなければ、私がArch LinuxとWindowsを使用する方法は次のとおりです。MBRパーティションをクリックし、UEFIとレガシーの間でBIOSを切り替えて、WindowsまたはArchの実行から選択します。ブートモードがUEFIに設定されるたびにWindowsが起動し、ブートモードがレガシーモードに設定されるたびにArchが起動します(他のオペレーティングシステムも表示されません)。実用的な目的のために、これはノートブックを起動するときにF2を押して切り替える必要があるたびにBIOSメニューをナビゲートする必要があることを除いて、Grubが期待するものと似ています。
- WindowsをインストールしてからLinuxをインストールしてください。
Windowsから起動し、コマンドラインから実行します。
diskpart
select volume [volume_number]
(望むよりノート2投稿の最後に)assign letter [any unused letter (usually different from C:)]
B:
(または選択した文字のみ)cd EFI/Microsoft/Boot
rename bootmgfw.efi bootmfgw.efi.old
コンピュータを再起動すると、
/EFI/Microsoft/Boot/bootmgfw.efi
名前を変更したばかりのコンピュータが見つからないため、Linuxに直接移動する必要があります。- 端末を開き、次のように入力します。
sudo gedit /etc/grub.d/11_Windows
- 交換するテキストファイルに以下のコードを入力し、そのケースの物理ドライブとボリュームと
hd0
交換してください。gpt1
私が知っている限り、そうですset root='(hd0,gpt3)
。
- 端末を開き、次のように入力します。
#!/bin/sh -e
echo "Adding Windows 7">&2
cat << EOF
menuentry "Windows 7"{
set root='(hd0,gpt1)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi.old
}
EOF
- (続き)
- ファイルを保存してエディタを閉じます。
- ファイル権限の変更:
sudo chmod a+x /etc/grub.d/11_Windows
- コンピュータの起動時に定義したオプションがリストに表示されるようにGrubを更新します。
sudo update-grub
コンピュータを再起動すると、メニューにLinuxとWindowsが表示されます。
ノート2:リンクされたチュートリアルでは、作成者はボリュームの代わりにディスクとパーティションを選択しましたが、私の場合はボリュームを指定するだけでした(実際にそうでなければ機能しません)。ボリューム、ディスク、パーティション番号は、コンピュータとソニーからWindowsをインストールした方法によって異なります。私が知っているのは3冊です。ボリュームを見つけるには、//と入力して他の利用可能なオプションを確認するボリュームが見つかるremove letter [letter]
まで、プロセス(毎回割り当てられた文字の削除)を繰り返す必要があります。/EFI
bootmgfw.efi
list volume
list disk
list partition