You are not logged in.
Hello,
I have been working using archlinux on my dual boot win/arch laptop before my battery died. I was very surprised that right after this incident my machine would not boot into archlinux anymore but instead give a "boot error". I have tried fsck on the linux partitions, but this has not resolved my problem and I am kind of clueless what to look for.
I am using syslinux in a dual boot setup (windows boot manager that boots syslinux).
Can anybody help me with this?
Thanks a lot in advance!
PS: To clarify: When choosing the archlinux option in the windows boot manager syslinux is supposed to start, but instead there is a black screen saying "boot error".
(Sorry for the external link - i do not think this is the relevant part here..Also I am not sure if this issue counts as a Newbie Corner question. Please feel free to move if that raises the chances of solving my issue.)
Last edited by milk (2019-06-07 07:34:37)
Offline
Post your syslinux config and the output of blkid: I would guess your device names have changed.
Also, there are dual boot instructions on the wiki: random tutorials are unsupported here.
Moving to NC...
Offline
syslinux config:
DEFAULT arch
PROMPT 0 # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl
# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sda5 rw
INITRD ../initramfs-linux.img
LABEL archfallback
MENU LABEL Arch Linux Fallback
LINUX ../vmlinuz-linux
APPEND root=/dev/sda5 rw
INITRD ../initramfs-linux-fallback.img
LABEL hdt
MENU LABEL HDT (Hardware Detection Tool)
COM32 hdt.c32
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL poweroff
MENU LABEL Poweroff
COM32 poweroff.c32and blkid output:
/dev/sda1: LABEL="SYSTEM_DRV" UUID="DE6E42126E41E3BD" TYPE="ntfs" PARTUUID="3af54d93-01"
/dev/sda2: LABEL="Windows7_OS" UUID="A69245DE9245B399" TYPE="ntfs" PARTUUID="3af54d93-02"
/dev/sda3: LABEL="archboot" UUID="f6f0d568-14e5-4075-ac4d-9f2a2ea4fd3b" TYPE="ext4" PTTYPE="dos" PARTUUID="3af54d93-03"
/dev/sda5: LABEL="p_arch" UUID="2ffa66bc-dee1-487b-9a5e-cdedce3bf113" TYPE="ext4" PARTUUID="3af54d93-05"
/dev/sda6: LABEL="FRIDGE" UUID="B414396F14393628" TYPE="ntfs" PARTUUID="3af54d93-06"Does fsck change device names?
Last edited by milk (2019-06-06 23:52:58)
Offline
fsck doesn't, but you should use persistent naming as they can change.
Offline
Well, but if fsck does not change device names, why should they have changed after a low battery shutdown? That does not make sense to me.
Anyway, does anyone have an idea what could cause the boot error and how to fix it?
Last edited by milk (2019-06-07 07:26:27)
Offline
As you have not yet stated what the error actually is, no. Do you get into syslinux? If you don't even get into syslinux you will want to reinstall that. As already stated you should be using persistent names, if you happen to have an USB stick plugged in, there's a chance that it would've occupied the /dev/sda node instead of your actual disk.
Also glancing over that tutorial, it would mandate that you've added an entry to the windows boot loader, so in fact that is what might be broken instead.
Last edited by V1del (2019-06-07 07:28:51)
Offline
Thank you for your comment.
I do not get into syslinux. And I have had no USB stick plugged in.
Reinstalling syslinux sounds like a sledge hammer and since it does not make me understand the problem any better I considered this to be the last option.
Offline
Why do you consider this the last option? If the chain goes Windows Boot Loader (that one works?) -> Syslinux (failed) That would be my first thought. FWIW vfat filesystems are not well known for their resilience, if your battery died there's a good chance that some file entry on the archboot partition got corrupted, if you've done any writes before flushing/unmounting to that partition.
Last edited by V1del (2019-06-07 07:41:20)
Offline
Yeah, it may be the quickest option.
But it does not answer the "why", does it?
Last edited by milk (2019-06-07 07:40:52)
Offline
But it does not answer the "why", does it?
if your battery died there's a good chance that some file entry on the archboot partition got corrupted, if you've done any writes before flushing/unmounting to that partition.
Offline
if your battery died there's a good chance that some file entry on the archboot partition got corrupted, if you've done any writes before flushing/unmounting to that partition.
That reason I would buy. Any chance to verify this?
Also: How would I prevent this from happening again? Here persistent device names would not help..
Last edited by milk (2019-06-07 07:53:22)
Offline
Don't let your battery die. As V1del notes, VFAT fielsystems are not especially resilient.
You can use pacman to check the integrity of the files on that partition.
Offline
Well, I have not let it die on purpose. But I would like to make sure I can boot my system after such an incident..
Offline
Well, first figure out if that is what happened.
In any event, having a live USB handy is always a good idea...
Offline
So, yeah: Reinstalling syslinux has solved the issue. And a live USB I carry with me even when I shower (you never know) ![]()
I was wondering if a backup of the boot partition would have been the best way to go in order to prevent this from happening again. Any better ideas?
Offline
Also make sure you don't mount it if you don't actually need it. If syslinux is all that is on there, you can simply let it sit there and only mount it in the rare case that you feel compelled to update the installed syslinux binary. Or does that partition share /boot and thus the vmlinuz initramfs as well? In that case you might want to ensure a sync call after the mkinitcpio hook has ran, see man alpm-hooks for an example.
Personally I'd just do it the other way and install syslinux in the mbr and chainload windows, but apparently there might be some caveats with that as well.
Offline