You are not logged in.
Hey everybody ![]()
I've used arch couple of months, and I wanted to dual boot with windows.
As recommended I install the windows and then arch.
I followed all the instruction, from arch regular install (as i did couple of times before) and from the dual boot guide.
When I boot the computer the grub only shows me the windows.
I have efi partition the windows created, and the partition table is GPT
some outputs from my computer (from my liveUSB)
fdisk
Disk /dev/sda: 476.96 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SanDisk SD9SB8W5
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D9828EC9-AAF7-784F-AEE7-A2456D868924
Device Start End Sectors Size Type
/dev/sda1 2048 1085439 1083392 529M Windows recovery environment
/dev/sda2 1085440 1290239 204800 100M EFI System
/dev/sda3 1290240 1323007 32768 16M Microsoft reserved
/dev/sda4 1323008 122882047 121559040 58G Microsoft basic data
/dev/sda5 122882048 142413823 19531776 9.3G Linux filesystem
/dev/sda6 142413824 181475327 39061504 18.6G Linux filesystem
/dev/sda7 181475328 600905727 419430400 200G Linux filesystem
Disk /dev/sdb: 7.28 GiB, 7807401984 bytes, 15248832 sectors
Disk model: DataTraveler 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x02ac64a6
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 15248831 15246784 7.3G c W95 FAT32 (LBA)
Disk /dev/loop0: 531.19 MiB, 556986368 bytes, 1087864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes/etc/fstab
# /dev/sda5
UUID=3cf4d866-ca18-4504-af12-13ad7929c3e0 / ext4 rw,relatime 0 1
# /dev/sda7
UUID=4cf7455f-6156-4051-b6b4-c9550418b8be /home ext4 rw,relatime 0 2
# /dev/sda2
UUID=60A5-FA99 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
# /dev/sda4
UUID=A6A2B639A2B60E35 /mnt/windows ntfs ro,relatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0
# /mnt/dev/sda6
UUID=3a71cbd1-a273-42bc-85f9-51d9710dd18b none swap defaults 0 0mount
/dev/sda5 on / type ext4 (rw,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8129392k,nr_inodes=2032348,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmp on /tmp type tmpfs (rw,nosuid,nodev)
airootfs on /etc/resolv.conf type overlay (rw,relatime,lowerdir=/run/archiso/sfs/airootfs,upperdir=/run/archiso/cowspace/persistent_ARCH_202002/x86_64/upperdir,workdir=/run/archiso/cowspace/persistent_ARCH_202002/x86_64/workdir)
/dev/sda2 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/sda7 on /home type ext4 (rw,relatime)
/dev/sda4 on /mnt/windows type ntfs (ro,relatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1)os-prober
/dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efiparted -l
Model: ATA SanDisk SD9SB8W5 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 556MB 555MB ntfs Basic data partition hidden, diag
2 556MB 661MB 105MB fat32 EFI system partition boot, esp
3 661MB 677MB 16.8MB Microsoft reserved partition msftres
4 677MB 62.9GB 62.2GB ntfs Basic data partition msftdata
5 62.9GB 72.9GB 10.0GB ext4
6 72.9GB 92.9GB 20.0GB linux-swap(v1)
7 92.9GB 308GB 215GB ext4
Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 7807MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 7807MB 7806MB primary fat32 boot, lba/boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt5' --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 3cf4d866-ca18-4504-af12-13ad7929c3e0
else
search --no-floppy --fs-uuid --set=root 3cf4d866-ca18-4504-af12-13ad7929c3e0
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-60A5-FA99' {
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt2' --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 60A5-FA99
else
search --no-floppy --fs-uuid --set=root 60A5-FA99
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###I would love help ![]()
Last edited by idang1410 (2020-03-05 20:49:49)
Offline
D00d, where's your kernel? ![]()
EDIT: scnr
Check the installation guide again, it includes the linux package in the recommended pacstrap list.
Last edited by Head_on_a_Stick (2020-03-01 20:03:35)
Jin, Jîyan, Azadî
Offline
D00d, where's your kernel?
EDIT: scnr
Check the installation guide again, it includes the linux package in the recommended pacstrap list.
I've installed the kernel in the pacstrap , as the guide states
Offline
Hey everybody
I've used arch couple of months, and I wanted to dual boot with windows.
As recommended I install the windows and then arch.I followed all the instruction, from arch regular install (as i did couple of times before) and from the dual boot guide.
When I boot the computer the grub only shows me the windows.
Remove the outdated GRUB and install bootctl instead.
bootctl status
System:
Firmware: UEFI 2.31 (American Megatrends 4.653)
Secure Boot: disabled
Setup Mode: setup
Current Boot Loader:
Product: systemd-boot 243.78-1-arch
Features: ✓ Boot counting
✓ Menu timeout control
✓ One-shot menu timeout control
✓ Default entry control
✓ One-shot entry control
✓ Support for XBOOTLDR partition
✓ Support for passing random seed to OS
ESP: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4
File: └─/EFI/systemd/systemd-bootx64.efi
Random Seed:
Passed to OS: yes
System Token: set
Exists: yes
Available Boot Loaders on ESP:
ESP: /boot (/dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4)
File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 243.78-1-arch)
File: └─/EFI/BOOT/bootx64.efi (systemd-boot 243.78-1-arch)
Boot Loaders Listed in EFI Variables:
Title: Linux Boot Manager
ID: 0x0001
Status: active, boot-order
Partition: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4
File: └─/EFI/systemd/systemd-bootx64.efi
Title: Windows Boot Manager
ID: 0x0000
Status: active, boot-order
Partition: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4
File: └─/EFI/Microsoft/Boot/bootmgfw.efi
Boot Loader Entries:
$BOOT: /boot (/dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4)
Default Boot Loader Entry:
title: Arch Linux BMQ (linux-bmq)
id: linux-bmq
source: /boot/loader/entries/linux-bmq.conf
linux: /vmlinuz-linux-bmq
initrd: /intel-ucode.img
/initramfs-linux-bmq.img
options: root=PARTUUID=47a680a0-dee6-428b-b360-af5dce5da0f4 rw i915.fastboot=1 scsi_mod.use_blk_mq=1 libata.allow_tpm=1 intel_iommu=on bmq.timeslice=2000Given 3 seconds to choose between OSes on warm/cold start-up.
blitz@inode / % cat /boot/loader/loader.conf
default linux-bmq
timeout 3
editor no
console-mode 0Last edited by blitz (2020-03-01 23:55:29)
Offline
in order to dual boot with windows (efi), you need a vfat partition and a folder /boot/efi
mount the vfat under /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=whatever
at least that is what i did.
Offline
idang1410 wrote:Hey everybody
I've used arch couple of months, and I wanted to dual boot with windows.
As recommended I install the windows and then arch.I followed all the instruction, from arch regular install (as i did couple of times before) and from the dual boot guide.
When I boot the computer the grub only shows me the windows.Remove the outdated GRUB and install bootctl instead.
bootctl statusSystem: Firmware: UEFI 2.31 (American Megatrends 4.653) Secure Boot: disabled Setup Mode: setup Current Boot Loader: Product: systemd-boot 243.78-1-arch Features: ✓ Boot counting ✓ Menu timeout control ✓ One-shot menu timeout control ✓ Default entry control ✓ One-shot entry control ✓ Support for XBOOTLDR partition ✓ Support for passing random seed to OS ESP: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4 File: └─/EFI/systemd/systemd-bootx64.efi Random Seed: Passed to OS: yes System Token: set Exists: yes Available Boot Loaders on ESP: ESP: /boot (/dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4) File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 243.78-1-arch) File: └─/EFI/BOOT/bootx64.efi (systemd-boot 243.78-1-arch) Boot Loaders Listed in EFI Variables: Title: Linux Boot Manager ID: 0x0001 Status: active, boot-order Partition: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4 File: └─/EFI/systemd/systemd-bootx64.efi Title: Windows Boot Manager ID: 0x0000 Status: active, boot-order Partition: /dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4 File: └─/EFI/Microsoft/Boot/bootmgfw.efi Boot Loader Entries: $BOOT: /boot (/dev/disk/by-partuuid/35f663c7-e633-4ff7-922b-6033bc638fa4) Default Boot Loader Entry: title: Arch Linux BMQ (linux-bmq) id: linux-bmq source: /boot/loader/entries/linux-bmq.conf linux: /vmlinuz-linux-bmq initrd: /intel-ucode.img /initramfs-linux-bmq.img options: root=PARTUUID=47a680a0-dee6-428b-b360-af5dce5da0f4 rw i915.fastboot=1 scsi_mod.use_blk_mq=1 libata.allow_tpm=1 intel_iommu=on bmq.timeslice=2000Given 3 seconds to choose between OSes on warm/cold start-up.
blitz@inode / % cat /boot/loader/loader.conf default linux-bmq timeout 3 editor no console-mode 0
I am used to grub already. Why switching to bootctl will solve this ?
in order to dual boot with windows (efi), you need a vfat partition and a folder /boot/efi
mount the vfat under /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=whatever
at least that is what i did.
I have a efi partition, at /dev/sda2 (you can see that at my fdisk or parted output)
Offline
in order to dual boot with windows (efi), you need a vfat partition and a folder /boot/efi
mount the vfat under /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=whatever
at least that is what i did.
This is absolutely not necessary. It is one way to do it, but what OP has is also perfectly valid and there is no reason to change that. Moreover, grub is already installed correctly, but the issue is it's configuration file is not including an entry to Arch Linux Kernel for some reason. Re-installing grub will do nothing to the issue.
idang1410: what are the contents of your /boot/ ? (i.e. the EFI partition)?
More specifically, you should have linux kernel images in there, at least vmlinuz-linux (if you are using the default kernel) and most probably initramfs-linux.img and initramfs-linux-fallback.img (but not necessarily, in case you have disabled initramfs and know what you are doing).
Chances are, something was run in the wrong order during install. The usual procedure is (roughly, from the top of my head):
mount all partitions to where they are going to be, in the chrooted environment during installation (including EFI),
install a kernel image (1. is needed before this step so the image will be installed in the right spot!)
make sure fstab is up to date (grub might need this, or another bootloader in case you choose to use one)
update grub configuration with grub-mkconfig
Step 2. this is done by pacstrap usually.
In case the kernel images are in the EFI partition, your situation can be probably fixed with step 4) (missing entries in grub.cfg). You may run 'grub-mkconfig' first (without parameters) to get the configuration file in STDOUT. If you are sure it seems correct, pass on -o /boot/grub/grub.cfg to it. You may want to move away old grub.cfg before (so you can revert into situation where you can boot into Windows, in case Windows detection is broken for any reason).
In case the kernel image is not in the EFI partition, you need to re-install the kernel. I presume you can already chroot (or boot) into the installation since you posted a good deal of information from it
. So, after chrooting and making sure the EFI is mounted at /boot, run
pacman -S kernel(you may want to -Suy it instead while we're at it) and then
grub-mkconfig -o /boot/grub/grub.cfgas outlined before. Hope this helps!
As a sidenote: in case Kernel image was not in EFI, you may want to unmount /boot temporarily and see if the mount point is empty. Been there, done that: I've installed kernel images accidentally because something was broken, was chrooted but forgot to mount /boot before installing a new kernel. You may most probably remove those files in the (unmounted) mountpoint.
EDIT: A few minor clarifications
Last edited by Wild Penguin (2020-03-02 08:36:37)
Offline
chancho wrote:in order to dual boot with windows (efi), you need a vfat partition and a folder /boot/efi
mount the vfat under /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=whatever
at least that is what i did.This is absolutely not necessary. It is one way to do it, but what OP has is also perfectly valid and there is no reason to change that. Moreover, grub is already installed correctly, but the issue is it's configuration file is not including an entry to Arch Linux Kernel for some reason. Re-installing grub will do nothing to the issue.
idang1410: what are the contents of your /boot/ ? (i.e. the EFI partition)?
More specifically, you should have linux kernel images in there, at least vmlinuz-linux (if you are using the default kernel) and most probably initramfs-linux.img and initramfs-linux-fallback.img (but not necessarily, in case you have disabled initramfs and know what you are doing).
Chances are, something was run in the wrong order during install. The usual procedure is (roughly, from the top of my head):
mount all partitions to where they are going to be, in the chrooted environment during installation (including EFI),
install a kernel image (1. is needed before this step so the image will be installed in the right spot!)
make sure fstab is up to date (grub might need this, or another bootloader in case you choose to use one)
update grub configuration with grub-mkconfig
Step 2. this is done by pacstrap usually.
In case the kernel images are in the EFI partition, your situation can be probably fixed with step 4) (missing entries in grub.cfg). You may run 'grub-mkconfig' first (without parameters) to get the configuration file in STDOUT. If you are sure it seems correct, pass on -o /boot/grub/grub.cfg to it. You may want to move away old grub.cfg before (so you can revert into situation where you can boot into Windows, in case Windows detection is broken for any reason).
In case the kernel image is not in the EFI partition, you need to re-install the kernel. I presume you can already chroot (or boot) into the installation since you posted a good deal of information from it
. So, after chrooting and making sure the EFI is mounted at /boot, run
pacman -S kernel(you may want to -Suy it instead while we're at it) and then
grub-mkconfig -o /boot/grub/grub.cfgas outlined before. Hope this helps!
As a sidenote: in case Kernel image was not in EFI, you may want to unmount /boot temporarily and see if the mount point is empty. Been there, done that: I've installed kernel images accidentally because something was broken, was chrooted but forgot to mount /boot before installing a new kernel. You may most probably remove those files in the (unmounted) mountpoint.
EDIT: A few minor clarifications
Thank you !
I did installed the kernel without the boot mounted apparently. installing it with all the partition mounted corrected the problem
Offline