You are not logged in.

#1 2011-04-02 11:27:46

jaen
Member
Registered: 2010-12-24
Posts: 21

Booting from a SATA controller not recognized by BIOS.

I have an USB install of Arch Linux and it works pretty well for me, I can access the files on the SATA drive, browse the intarwebs and code, but I can't really paint on it and that forces me to have a Windows installation on the hard drive.

But the problem is that the BIOS doesn't see the disk and since it isn't a Linux kernel I can't refer to it through UID and I'm not entirely sure GRUB can see non-BIOS disks either, which doing ls from GRUB commandline seems to confirm, as it only lists the USB stick and it's partitions. Is there any GRUB 2 module or other way to have it recognize the disk plugged into the controller, so I can chainload into Windows?
The Windows bootloader seems to be capable of booting from a disk not recognized by BIOS so as long as I chainload into it I guess it'll be all right.

I heard there is some way to stuff the Windows bootloader onto a pendrive or even force the controller BIOS into motherboard BIOS, but I'd rather avoid this and stick with GRUB if possible.

If it's any help here's what the lspci has to say about the controller:

01:08.0 RAID bus controller: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50)
    Subsystem: VIA Technologies, Inc. VT6421 IDE RAID Controller
    Flags: bus master, medium devsel, latency 32, IRQ 16
    I/O ports at a000 [size=16]
    I/O ports at a400 [size=16]
    I/O ports at a800 [size=16]
    I/O ports at ac00 [size=16]
    I/O ports at b000 [size=32]
    I/O ports at b400 [size=256]
    [virtual] Expansion ROM at 20000000 [disabled] [size=64K]
    Capabilities: [e0] Power Management version 2
    Kernel driver in use: sata_via
    Kernel modules: sata_via

Thanks in advance.

Offline

#2 2011-04-02 13:16:22

skodabenz
Banned
From: Tamilnadu, India
Registered: 2010-04-11
Posts: 382

Re: Booting from a SATA controller not recognized by BIOS.

insmod ata or insmod ahci?


My new forum user/nick name is "the.ridikulus.rat" .

Offline

#3 2011-04-02 19:50:34

jaen
Member
Registered: 2010-12-24
Posts: 21

Re: Booting from a SATA controller not recognized by BIOS.

Executing insmod ata in grub console seems to break everything (it seems to unmount the bootloader filesystem, as all commands are replied to with "grub: disk not recognized" or somesuch). Adding this option to grub.cfg breaks booting, with 5 messages about disk not being recognized (I don't know if it has anything to do with the fact that if everything worked there would be exactly 5 partitons).

As for insmod ahci - it doesn't seem like this module comes with grub2-bios package. Should I pull the lastest revision from repo to get it or do something else entirely?

Offline

#4 2011-04-03 08:32:51

skodabenz
Banned
From: Tamilnadu, India
Registered: 2010-04-11
Posts: 382

Re: Booting from a SATA controller not recognized by BIOS.

Try http://aur.archlinux.org/packages.php?ID=41055 (pkgname=grub2-bios-bzr-exp in the PKGBUILD. Comment out 'patch -Np1 -i ${srcdir}/archlinux_grub2_mkconfig_fixes.patch' line in the PKGBUILD as the patch has not yet been updated. You will have ahci module in the exp branch. I suppose you have SATA mode in BIOS set to AHCI instead of IDE.

Or try insmod raid .


My new forum user/nick name is "the.ridikulus.rat" .

Offline

#5 2011-04-03 14:25:46

jaen
Member
Registered: 2010-12-24
Posts: 21

Re: Booting from a SATA controller not recognized by BIOS.

I managed to build the experimental branch, although it required more hacking at the packagebuild than that.
But enabling this module makes the GRUB 2 act exactly as with ata module, it stops recognizing disks at all. I have no clue why this happens.
Also my BIOS is not aware of any of this SATA stuff, there is no SATA options in it at all, everything is controlled by the external VIA controller.

Insmod-ing the raid module doesn't change anything.

I suppose I'm out of luck then?

EDIT:
Duh, didn't say this clearly enough - I doesn't seem to have any BIOS on it, and neither motherboard BIOS has such option.

Last edited by jaen (2011-04-04 06:37:39)

Offline

#6 2011-04-03 22:49:16

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,866

Re: Booting from a SATA controller not recognized by BIOS.

Does the VIA controller have it's own bios ?
If it does, look for a setting in your Mobo Bios like " enable expansion Rom"  .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2011-04-04 20:48:01

jaen
Member
Registered: 2010-12-24
Posts: 21

Re: Booting from a SATA controller not recognized by BIOS.

No it doesn't and the mobo doesn't have such a setting.

In the end I searched for the controller BIOS on the intarwebs and ended up modyfing the motherboard BIOS to include it with cbrom, though I had to sacrifice the netboot module for it to fit; I didn't use anyway, so no big loss. By chance I didn't screw up anything during flashing and now there is a controller RAID prompt after the usual BIOS screen and I can boot from"SCSI" which is the SATA disk. I can now install Windows no problem and GRUB2 recognizes the disk on it's own too.

But I don't really like this modyfing BIOS stuff, is there seriously no way to do it, save maybe writing my own GRUB2 module by gleaning the code of sata_via kernel module?
Also at some point I think I made ntldr see the disk with unmodified mobo BIOS, but I don't remeber how exactly I did it and anyway the USB with bootloader became 0-th drive, so the Windows of course wouldn't boot (why doesn't it have drivemap, duh). It would be best if I somehow made GRUB2 see this disk with unmodified BIOS and then drivemap and fire the ntldr, but if that can't be done, then oh well.

Offline

Board footer

Powered by FluxBB