[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unable to find a device on multiple controller system
From: |
Andrey Borzenkov |
Subject: |
Re: Unable to find a device on multiple controller system |
Date: |
Wed, 30 Jul 2014 19:20:44 +0400 |
В Tue, 29 Jul 2014 20:06:24 +0300
GA <address@hidden> пишет:
> Hello,
>
> I would like to start that I'm not very adept at GRUB2. My issue is that I
> can't get a device as boot option in GRUB
>
> My improvised workstation consists of:
>
> ASUS M4A88TD-V EVO/USB3 Motherboard running a Phenom 1090t, with the
> following disk arrangement:
> Integrated SB850 (fake raid) AHCI Controller (4 ports) - 3 are used for
> RAID0 and the last is a single disk (SSD) and HP P400 SAS Controller for
> RAID5.
>
> The would be config is to have linux on the p400, windows on the SSD (still
> need some stuff from there)
>
> Due to the low end consumer motherboard, when the P400 is connected, the
> PCI option rom of the SB850 disappears and via the BIOS it's not possible
> to select other boot device besides PXE/USB and the P400. So actually the
> first boot device in the BIOS is the USB.
> My distro of preference is openSUSE 13.1. I've decided (due to sometimes
> trying other stuff) to keep grub and /boot on a separate USB drive and
> actually boot from it (which works flawlessly).
>
> With this setup there is no problem to have Linux on any of the tree
> targets (the SSD, SB850 RAID0 and P400 RAID5). Even with LVM2 and BtrFS
> everything works as expected. My issue is that no matter what, I can't get
> to boot into the Windows 8.1 installation.
>
> With my limited knowledge, it seems that for some reason, GRUB cannot find
> anything else besides the USB drive.
By default GRUB relies on BIOS to access drives. If BIOS does not
expose drive, GRUB does not see it.
> Although my device.map file contains
> all devices properly
device.map is absolutely irrelevant at boot time and is not needed with
grub2 at all.
> (I've tried all types /dev/disk/by-id,by-path,
> by-uuid), when at the CLI I get only hd0 as the USB and an unknown to me
> hd1 with size of 4GB. all the rest hd* devices are missing. I've tried
> manually locating them with search but to no avail. I see with lspci that
> both controllers are visible.
>
> My guess is that for some reason the cheap BIOS confuses GRUB. Since I'm
> booting from the USB drive, afterwards the Linux kernel takes over and
> properly finds all controllers, volumes and filesystems.
>
> Is it possible to resolve this issue, so I can boot not only into Linux,
> but chainload Windows 8.1?
>
It may be possible to use ahci driver in grub2 to load Windows loader,
but Windows loader is using BIOS to load Windows kernel as well; so
unless your Windows drive is can be accessed via BIOS, it will not
work. Your only possibility seems to be to create small partition on
P400 and install Windows bootloader there.