You are not logged in.
Hello, I have Windows 7 preinstalled on a Dell machine. I am trying to install Archlinux alongside the Windows 7 installation. However after installation following the Archlinux Installation Guide upto Section 3.7 and then following the Archwiki containing instruction on using the Windows Vista/7/8/8.1 boot loader it is booting into the wrong partition. Following are the details of what I have done -
I have in total 4 partitions -
/dev/sda1 - NTFS - Windows system reserved partition (100MB)
/dev/sda2 - NTFS - Partition containing Windows 7 OS
/dev/sda3 - NTFS - Blank partition to store common files
/dev/sda4 - EXT4 - Linux Root PartitionI installed Syslinux boot loader into the boot partition of new Linux installation using the following commands in sequence -
# pacman -S syslinux
# mkdir /boot/syslinux
# cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
# extlinux --install /boot/syslinuxIn order to let Windows access the linux boot leader file, then I mounted the partition containing Windows OS and copied the VBR using following commands -
# mount -t ntfs3 /dev/sda2 /mnt/windows
# dd if=/dev/sda4 of=/mnt/windows/linux.bin bs=512 count=1Then unmounted the Windows partition, exited the Linux system and got into Windows system, used bcdedit to add entry for Archlinux. I followed the following commands to do that -
> bcdedit /create /d "Archlinux" /application BOOTSECTOR
> bcdedit /set UUID device partition=c:
> bcdedit /set UUID path \linux.bin
> bcdedit /displayorder UUID /addlast
> bcdedit /timeout 30Now after rebooting, I can see both Archlinux and Windows option popping up for booting. But when I am booting into Archlinux, I am getting following error -
Loading ../vmlinux-linux... ok
Loading ../initramfs-linux.img... ok
Probing EDD (edd=off to disable)... ok
:: running early hook [udev]
Starting systemd-udevd version 252.5-1-arch
:: running hook [udev]
:: Triggering uevents...
:: running hook [keymap]
:: Loading keymap...done
:: performing fsck on '/dev/sda3'
:: mounting '/dev/sda3' on real root
mount: /new_root: unknown filesystem type 'ntfs'
dmesg(1) may have more information after failed mount system call.
You are now being dropped into an emergency shell
sh: can't access tty: job control turned offLooks like instead of `/dev/sda4`, where Archlinux is installed, it is trying to mount `/dev/sda3` which is an NTFS file system.
I suspected whether I mistakenly issued command -
# dd if=/dev/sda3 of=/mnt/windows/linux.bin bs=512 count=1instead of
# dd if=/dev/sda4 of=/mnt/windows/linux.bin bs=512 count=1because I was looking into this url and they have `/dev/sda3` in their article.
So I removed the linux.bin file, carefully redone the step `# dd if=/dev/sda4 of=/mnt/windows/linux.bin bs=512 count=1`, removed the previous bcd entry with `bcdedit /delete UUID` and added new bcd entry. However nothing is making any difference. I am still getting the same error -
:: performing fsck on '/dev/sda3'
:: mounting '/dev/sda3' on real root
mount: /new_root: unknown filesystem type 'ntfs'
dmesg(1) may have more information after failed mount system call.
You are now being dropped into an emergency shellI wanted to know what might be going wrong here and how can I fix it? Sorry for the long question.
Last edited by taufique (2023-02-13 17:24:45)
Offline
Please share your bootloader configuration file(s). The kernel & initramfs are being found but it looks like the initramfs is searching for the root partition on the wrong device.
Disclaimer: I don't use syslinux and I've never tried to use bcdedit like that.
Jin, Jîyan, Azadî
Offline
Please share your bootloader configuration file(s). The kernel & initramfs are being found but it looks like the initramfs is searching for the root partition on the wrong device.
I went back, took a look at the Syslinux configuration file and found that /dev/sda3 was indeed pointed as the root partition. Changed it, regenerated boot-loader, followed all the steps I have done before to point it from the Windows boot loader. Now I can boot into the new Archlinux installation.
Thanks a ton for pointing to the right place.
Offline