Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I installed Arch Linux from a USB flash drive. Everything went well, no errors at all. When I rebooted, however, I got only a blank screen with a blinking cursor. No GRUB. I cannot input anything. I'm sure I followed the installation instructions properly. Can anybody suggest what might be the problem?

Edit: grub's menu.lst:

# Arch Linux
title Arch Linux
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26.img

# Arch Linux fallback
title Arch Linux Fallback
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26-fallback.img

A sketch of the drives and partitions, until I have a chance to boot to the USB again and get more certain details:

sda: will be Windows 7 on 1st half of drive, data partition on second. Total size 1 TB.

sdb: also 1 TB. If I recall correctly from Arch install, it has: 100MiB /boot, 256MiB swap, 20GiB /, remainder is /home. I think they're in that order, too. I believe /boot is ext2 and / and /home are ext3.

Edited to add: output of fdisk -l:

Disk /dev/sdb: 100.2 GB, 100204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units=cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes/512 bytes
I/O size (minimum/optimal): 512 bytes/512 bytes
Disk identifier: 0x00022eec

   Device Boot Start    End    Blocks  ID System
/dev/sdb1  *       1     13    104391  83 Linux
/dev/sdb2         14     46    265072+ 82 Linux swap/Solaris
/dev/sdb3         47   2596  20482875  83 Linux
/dev/sdb4       2597 121601 955907662+ 83 Linux
share|improve this question
    
The fdisk output helps, but what command did you use to install GRUB? –  gnud Jun 1 '11 at 9:37
    
FYI grub is obsoleted on latest arch, you should upgrade to grub2 ASAP. –  warl0ck Aug 15 '12 at 10:21
add comment

6 Answers

Check the boot order settings in the BIOS. Is it booting from the drive you installed the boot loader on?

share|improve this answer
    
Yes it is. I even explicitly told BIOS to boot that drive, with the same result. –  Wolf Apr 30 '11 at 15:19
    
Some mainboards do have 2 different options for the boot order and for the order of internal disks. Make sure you check that too. –  drahnr Jun 1 '11 at 9:06
add comment

What's probably happening is that Grub didn't get the right information about where it should boot from. The BIOS has its own notion of disk numbering, and it's pretty primitive: the boot disk is disk 1, and some other disk is disk 2. If you're booting Linux by choosing the Linux disk in the BIOS boot menu, then Grub will need to read its own files, and the Linux kernels, from hd0.

Boot into your installation, and edit the file /boot/grub/device.map to associate /dev/sdb with hd0 and /dev/sda with hd1. Then run

update-grub
grub-install /dev/sdb
share|improve this answer
    
@Gilles: Alas, no dice. I selected the USB's option to "Boot existing OS". As is, the screen went blank and then returned me to the USB's Live menu. Pressing TAB after selecting that option allows me to edit which drive to boot, giving me a prompt that says chain.c32 hd0 0. Changing this to hd1 0 and hitting ENTER, I get a black screen that says Booting... and then the blinking cursor that does nothing. –  Wolf Apr 30 '11 at 15:56
    
@Wolf: Given you've now said you have two disks and Linux is on sdb, I think the device map is the problem. See my edit. –  Gilles Apr 30 '11 at 23:26
    
@Gilles: I booted into the installation USB, and mounted /dev/sdb1 (boot partition). It did not have a device.map file. There was also no update-grub command available. I'm wondering whether I should try disconnecting the other drive and reinstalling Arch, so the 2nd drive isn't there to confuse the issue; then reconnect the other drive, install Win7 on it, and then edit the GRUB config accordingly after the fact. –  Wolf May 1 '11 at 13:29
    
@Wolf: My experience is with Debian, not Arch, and some of what I'm used to seems to be specific to Debian, so you may need to adapt my answer. Try making a /boot/grub/device.map containing two lines (hd0) /dev/sdb and (hd1) /dev/sda then run grub-install /dev/sdb. In menu.lst, change (hd0) into (hd1). –  Gilles May 1 '11 at 13:55
    
@Gilles: Just to be sure, does that device.map file go on the hard drive's boot partition? And the menu.lst file as well? –  Wolf May 1 '11 at 13:57
show 3 more comments

If you are trying to boot from a USB drive, you need to make sure you have included this in your mkinitcpio hooks. If this is the case, chroot into your Arch install and make the change before rebuilding the image.

Adds USB modules to the image. Use this if your root device is on a USB mass storage device or if your USB mass storage device needs to be accessed otherwise (checked, mounted, etc.) at boot time.

See the wiki entry for details

share|improve this answer
    
Nope, trying to boot from HDD, the USB is just the installation medium. –  Wolf Apr 30 '11 at 19:52
    
Can you edit your original post to provide a bit more detail: your partitions, filesystems etc? That might provide a little more to diagnose. –  jasonwryan Apr 30 '11 at 20:35
    
@jasonwryan: I've added some details. I'm not 100% sure about all of it, but I'll check next time I can boot it up. –  Wolf Apr 30 '11 at 21:00
    
For dual booting - I'd chainload: wiki.archlinux.org/index.php/Windows_and_Arch_Dual_Boot –  jasonwryan Apr 30 '11 at 22:41
    
@jasonwryan: I'm not dual-booting yet. I want to get ONE hard drive working before I worry about the other one. –  Wolf Apr 30 '11 at 22:57
show 3 more comments

I had the same problem, but only while booting with a connected USB device. I just unplugged it and the boot process finished.

share|improve this answer
add comment

Try installing GRUB2. GRUB2 itself may not solve anything (though it might), but the install process itself may solve your problem. As a reward, you get the latest and greatest version of GRUB, with whatever glorious benefits the new version may entail (and a solution to the problem?)

share|improve this answer
add comment

It's somewhat late now, but I just had a similar problem when installing Arch (for the first time). It turns out that for whatever reason, the package installation creates the kernel and initramfs images with different names from those used by Grub. Everything else, including UUIDs, was fine.

The default filenames I ended up with were /vmlinuz-linux (in place of /vmlinuz26) and /initramfs-linux.img (/kernel26.img) - booting from the live CD and modifying /boot/grub/menu.lst to replace the kernel and initramfs locations let me boot.

As to how this happened in the first place, I guess the Arch installation script just doesn't pass the output filenames from the kernel installation to the Grub menu creation. It's frustrating though, and not a great introduction to what is often made out to be one of the better distributions.

share|improve this answer
    
That was caused quite recently when Arch upgraded to kernel 3.0. The old images from kernel 2.6 had "26" in their names, and therefore so did the GRUB settings. In order to avoid breaking GRUB, they created links to the new images. I expect next time they put out a live CD image, it will be updated to reflect the new kernel. –  Wolf Aug 18 '11 at 0:16
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.