Двойная загрузка с SSD в слоте оптического дисковода

У меня есть Sony Vaio SVS15 с Windows 7 64 бит, в котором я заменил оптический диск SSD на диске caddy. Моя цель – оставить окна на оригинальном жестком диске (который также является SSD) и установить Arch Linux на втором диске (в оптическом дисковом месте).

Установка нового SSD прошла гладко, и он был правильно обнаружен, образован и т. Д. Я установил Arch Linux там с USB-накопителя, как описано в этом уроке:

  • http://www.bhartiya.io/always-updated-arch-linux-tutorial/30411

Проблема в том, что когда я запускаю компьютер, он идет прямо в Windows, тогда как я установил Arch после Windows. Оба диска используют GPT, а 64-разрядные версии Windows 7 поддерживают UEFI.

Мой вопрос: как вы думаете, проблема связана с тем, что Arch находится на SSD, где находится оптический диск? Или вы думаете, что это связано с тем, как я установил Arch / Grub?

Это поможет мне много искать в том или ином направлении.

NB: В порядке загрузки BIOS все еще есть «оптический привод», то есть он не модифицируется при замене SSD. Таким образом, параметры (в том порядке, в котором они установлены в данный момент):

  1. Внутренний оптический дисковод
  2. Внешнее устройство
  3. Внутренний жесткий диск
  4. сеть

Благодаря!

РЕДАКТИРОВАТЬ:

Я снова запустил процесс установки, если я сделал какую-то глупую ошибку. Хотя я все еще не могу заставить его работать, я заметил сообщение при настройке Grub2, которое может быть релевантным. Введенная мной команда:

grub-mkconfig -o boot/grub/grub.cfg 

Ранее я выполнил arch-chroot и смонтировал / загрузил раздел EFI 512MiB. При запуске команды я получаю пару предупреждений и сообщение «плохое магическое число». Затем он говорит «сделано», поэтому я не уверен, является ли это ошибкой или нет:

 [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 

Чтение сообщения в блоге по адресу http://gpuenteallott.blogspot.co.uk/2012/12/dual-boot-windows-7-and-ubuntu-with-uefi.html , похоже, это проблема с компьютерами Sony Vaio, для которого Windows всегда загружается, игнорируя любую другую установленную ОС, минуя Grub. Автор предлагает решение, которое сработало для меня, поэтому я опишу его ниже.

ПРИМЕЧАНИЕ 1. Я действительно пробовал это с Ubuntu вместо Arch Linux, поскольку я решил переключиться, но я считаю, что проблема здесь связана с тем, как была установлена ​​Windows, а не с версией Linux, поэтому я ожидаю, что это будет работать с Arch также. Если это не так, то, как я использовал Arch Linux и Windows, я установил Arch Linux с использованием раздела MBR , а затем переключил BIOS между UEFI и Legacy, чтобы выбрать, запускать ли Windows или Arch. Всякий раз, когда вы устанавливаете режим загрузки в UEFI, запускается Windows, и всякий раз, когда он устанавливается в режим Legacy, будет запущен Arch (каждый из которых не сможет увидеть другую ОС). Для практических целей это было похоже на желаемый результат с Grub, для этого потребовалось дополнительное усилие нажатия F2 при загрузке ноутбука и навигации по меню BIOS каждый раз, когда мне нужно было переключаться.

  1. Установите Windows, затем Linux.
  2. Загрузитесь в Windows и в командной строке выполните:

    1. diskpart
    2. select volume [volume_number] (см. ПРИМЕЧАНИЕ 2 в конце сообщения)
    3. assign letter [any unused letter (usually different from C:)]
    4. B: (или какое бы письмо вы ни выбрали)
    5. cd EFI/Microsoft/Boot
    6. rename bootmgfw.efi bootmfgw.efi.old
  3. Перезагрузите компьютер, он должен перейти прямо в Linux, так как он не найдет /EFI/Microsoft/Boot/bootmgfw.efi который мы просто переименовали.

    1. Открытый терминал и тип sudo gedit /etc/grub.d/11_Windows
    2. В текстовом файле введите код ниже, где вы должны переставить 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 
  1. (Продолжение)
    1. Сохраните файл и закройте редактор.
    2. Измените права доступа к файлам: sudo chmod a+x /etc/grub.d/11_Windows
    3. Update Grub, чтобы только что определенный параметр появился в списке при загрузке компьютера: sudo update-grub

Вот и все, теперь, когда вы перезагружаете свой компьютер, вы должны увидеть в меню как Linux, так и Windows.

ПРИМЕЧАНИЕ 2. В учебнике по ссылке автор выбирает диск и раздел вместо тома, но в моем случае все, что мне было нужно, это указать том (и на самом деле он не будет работать иначе). Номер тома, номер диска и номер раздела будут зависеть от компьютера и от того, как вы установили Windows, предоставленную Sony. В моем случае это был том 3. Чтобы найти ваш, вам нужно будет повторить процесс (каждый раз remove letter [letter] чтобы удалить письмо, которое вы назначили), пока не найдете ту, которая содержит папку /EFI , содержащую bootmgfw.efi , Введите list volume / list disk / list partition чтобы увидеть различные доступные варианты.