No hard drive detected on Linux install

I was finally fed up with not being able to render my Blender projects on the GPU, just because there was not enough memory on the card, and some other quirks my computer developed over time. In addition to that it was high time to upgrade the hardware and start on a clean installation.

The purpose of Rendering has driven the decision to chose a good graphic card, that is affordable, built in a PC from a shop where I do have an account. The result is the gaming machine Predator 9000 with a NVIDIA GeForce GTX 1080 Ti with 11 GB VRAM.

This being a gaming computer came with Windows 10 preinstalled. So after some rudimentary update and configuration of that system, I went around to install a Linux Mint KDE in dual boot.

Did not work. First issue was an error related to ACPI, for which the bios firmware did not supply driver, so I had to turn them off with the boot parameter:

 acpi=off

During the startup there were some curious error messages relating to SATA, but the life system came up (although in really low screen resolution). Installing however failed because there were no hard drives detected. parted -l as well as fdisk -l reported no drives besides the USB stick from which I booted.

So, searching the internet brought up some issues, that lead me to the conclusion that the cause is somewhere in the Bios (or UEFI as it is now called). Turning off secure boot did not change anything, but was recomended never the less.

As there were errors relating to SATA, I switched the „On Board SATA Mode“ from „RST Premium with Optane“ to AHCI and suddenly the Linux life system did detect both hard drives (one SSD one disk). However Windows is no longer bootable. Switching the mode back will allow Windows to boot.

The solution to this issue is documented in this post.

While this allows the installation of Linux on a harddrive, I was then not able to boot into Linux as the firmware boot manager always chooses the Windows Boot Manager to start. According to this question/answer this seems to be worsened by some motherboard manufacturers only provide minimal UEFI implementations in their firmware and do not allow to select any boot options (other than the boot order and the device) in the BIOS. Reading up on this lead to lot’s of posts that suggest to use bcedit to configure the bootmanager. For me this does not work, as I am unable to place the grub boot manager as first entry in the firmware boot manager and make it stick.

Taking a look at the different directories in the EFI files system there are:

  • Boot
  • OEM
  • Microsoft
  • ubuntu

I am unsure what the Boot folder is for, it was my impression, that this would contain the first bootloader to be used and then delegating to the Microsoft bootloader, however replacing the bootx64.efi file there with the one from ubuntu (grubx64.efi), by renaming, did not have an effect. However replacing /Microsoft/Boot/bootmgfw.efi with the grub one brings up the grub bootloader. However Windows 10 is no longer bootable (as the bootloader points the grub bootloader and Linux does not start at all. From the file naming I would assume that this file is the Boot Manager of the FirmWare.

This lead me to the next attempt by aproaching this issue with rEFInd. Hoewever installing proves difficult, as it is not possible from a live linux version and under Windows the EFI filesystem cannot be mounted correctly. This leaves the manual installation through the shell, which of course is not available and has to be installed first. So first things first: doing a testrun with the CD-image of rEFInd.  This let’s me start Windows and I get an option to startup Linux Mint which hangs itself then with:

fb: switching to nouveaufb from EFI VGA

This seems to be another issue with poor firmware implementation. The solution there is to add nomodeset in the boot parameter, as the firmware as well as the Linux installation do not support the graphics card (GTX 1080 Ti). This would also explain why the installation happen in low resolution. Installing the Nvidea proprietary drivers resolves this problem. With Linux booting now with the help of rEFInd, it should then also be possible to install rEFInd as default Boot Manager, whithout going through the shell.

Just installing rEFInd does not work, as the bios firmware still picks the boot manager for windows, but with this setup it should be possible to do some renaming and rEFInd will still find the boot manager for windows.

With hindsight there is probably an easier way than the described below:

When starting Linux the EFI partition is mounted under /boot/efi, which makes life a bit easier. All path in this setup have the root there, so / is actually /boot/efi/. First I renamed the the /Microsoft/Boot/bootmgfw.efi to win10mgf.efi (not sure if this was necessary, but I wanted to make sure that there are not two files named the same). Then I renamed /Microsoft ro /Microsoft_renamed. I created a new directory /Microsoft and moved the /refined folder in there and renamed it to /Microsoft/Boot. Then I renamed the refind.efi to bootmgfw.efi. This is required as the firmware boot manager searches on the EFI partition for /Microsoft/Boot/bootmgfw.efi. With this setup I got a boot loader menu by rEFInd with entries for grub, boot-rescue and Linux Mint. With delete I hid the boot-rescue option. From this menu, Linux is bootable directly as well as through Grub. Windows is only available as option through Grub, but not bootable.

The issue there is that the boot menu entry is generally generated by the os-prober and points to the rEFInd efi. To fix this, disable os-prober in /etc/default/grub.d/linux.cfg:

GRUB_DISABLE_OS_PROBER=true

Then you create a custom entry in /etc/grub.d/40_custom by copying the original entry generated by the os-prober in /boot/grub/grub.conf (all the way down) and replace the path /EFI/Microsoft/Boot/bootmgfw.efi with /EFI/Microsoft_renamed/win10mgf.efi (or whatever you renamed it to). Now Windows is bootable through grub.

Thunderbird and Firfox crash on startup

Due to a messed up update (misconfiguration of Gnome), I was forced to reinstall my Linux. I took this opportunity to upgrade to LMDE 201303 (Update pack 6). When starting up the new system everything worked fine, but as I went along to configure it as I wanted it to be, Firefox and Thunderbird stopped working. Firefox did not start anymore at all, without any error message. Thunderbird tried to send a crash report, but failed also without any error message.

It took me some iterations of reinstalling the system to solve the mystery. So in case you stumble into the same problem, here is my cause/solution:

I had my system set up with different partitions, so they had to be mounted. I usually use ( /, /usr, /opt and /home). As it turned out everything fell apart as soon as I mounted my old /opt partition. The reason for this is that both Firefox and Thunderbird are installed there (on Linux Mint Debian Edition at least). So this of course meant that The configuration and the application did not match.

Integrate antique scanner in Ubuntu

Because I started artwork with blender it became necessary to use my scanner. It is an antiquated piece of hardware  (from the last millennium 1999). Up until now I did not use it very often, because I used a better scanner at the office. Or I started up Windows where it is working.

So basically scanning in Linux works out of the box if sane is installed, unless…

Starting up xsane from the menu I got an error message that did not tell me or anybody else anything. Something along the line device could not be initialized snapscan:libusb:006:002. Therefore I tried the same on the console in the hope to gain more information and I was successful:

[snapscan] Cannot open firmware file /usr/share/sane/snapscan/your-firmwarefile.bin.
[snapscan] Edit the firmware file entry in snapscan.conf.

With this message I searched the web and found Martin Meyerspeer had the same problem with another device. The basic is that you need a binary firmware file that is referenced. The file can be found on the accompanying driver CD. If your are lucky you did not throw it out already.  In my case it was simple because the firmware files were not packed in an archive. There were however several of them. The SnapScan homepage helped me out locating the correct on. The rest is just following Martins description.

Failed to resolve URLs through WLAN

Over the holidays I took my notebook into another wireless network. When I came back I could not connect to the network. This had two causes:
First: The router which I used for a DHCP server had only an IP pool size of 4. All IPs where resolved. The pool size is not changeable. The cause for this was that I use an open WLAN over which all the gigs that received a new iPhone for Christmas connected. Rebooting the router cleared the pool and I could at least connect through the wire.
Second: This is more puzzling and I have not yet figured out the cause, but I found a remedy. Before resolving the first point my notebook could connect through the access point but could only access local pages. This was of course because wlan0 did not receive a IP from the DHCP server but used an old one witch fortunately did not conflict. After resolving the first point the wlan0 interface did receive its own new IP but still accessing URLs outside did not work though pinging an IP did. This suggested that the URL could not be resolved through a DNS. This was verified by checking /etc/resov.conf where no entries for nameservers could be found. Adding the appropriate ones solved it.
A possible cause may lie therein that the access point and the router do not share the same netmask (router: 255.255.255.248 and AP: 255.255.0.0). This would suggest, that the AP can see the router but the router not the AP.

Bootproblems with Linux

Recently I made some changes on my network. This resulted in chaos so I decided that I reboot my Linux machine. This piece of hardware is already a bit older and in dire need of replacement. There are legacy installations of Windows XP and Windows 98 which are seldom used. Due to the hardware limits this is installed as dual boot.
I restarted the machine and Windows got up even though Linux was the default in the grub bootloader.
„Bootproblems with Linux“ weiterlesen