You are not logged in.

#1 2014-11-18 18:02:49

erickwill
Member
Registered: 2013-11-05
Posts: 137

[SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

PROBLEM:
====================================================================================
Dear fellas

I just purchased an new HP TouchSmart 17.3" laptop that comes with Windows 8.1 pro (1 tb HDD + small SSD for cache only ) and still have space for one more HDD or SSD.
I Google a lot and read a lot but many questions emerged since seems that no one has the same scenario (maybe I pick the wrong choices) like me.
The problem is.. I didn't wish to re-install Windows 8.1 since it came with from factory.. so I purchased a 750 gb hdd and put it into the free slot to install Arch Linux in a different HDD.
As I am not familiar with UEFI what I did was to reorder the hdds. I just put the Windows HDD as second disk and the new disk (For Arch Linux) as primary and changed into Bios from UEFI to compatibility mode and installed Arch Linux into the primary one.
I reaaaally need help to add to grub the correct "path" to Windows 8.1 disk that came with UEFI..
Anyone could please help me?

Thanks in advance!
====================================================================================

SOLUTION:

A huge thanks to @TheSaint and other users for their help and assistance!
More sources:
http://www.kossboss.com/linux---arch-in … -grub-boot
https://www.youtube.com/watch?v=METZCp_JCec#t=146
https://bbs.archlinux.org/viewtopic.php … 1#p1390741


Step by Step Summary:

Use gdisk to create partitions on /dev/sda:
    - 512MB - EF02 type partition (for EFI boot)
    - 690GB - Linux partition for the BTRFS.
   
- Create an EF00 (ESP) with 512mb
- Create a Linux System partition with the rest of space

-------------

Make the FAT 32 system for EFI boot:
# mkfs.vfat -F32 /dev/sda1

Make the BTRFS partition. If it complains about existing filesystems just add a "-f":
# mkfs.btrfs -L arch -f /dev/sda2

We will make out a root subvolume for sda1, this will be a folder called root located at the root of sda2. The way we will design this is that When the system boots we will not see /root, we will be inside root. Inside root you will have all of your etc,sys,proc,whatever folders etc.

# mount /dev/sda2 /mnt
# cd /mnt
# btrfs subvolume create /mnt/root

This should show you your root
# btrfs subvolume list -a /mnt
Something like this: ID 256 gen 5 top level 5 path root

# cd /
# umount /dev/sda2

Now we will mount sda2 root subvolume as /mnt and we will dump the arch system into there with pacman. We will also enable compress to utilize btrfs compress feature.
# mount -o defaults,compress=lzo,subvol=root /dev/sda2 /mnt

NOTE: the command "mount" will not show which subvolume is mounted, to see how subvolumes are mounted you need to look inside proc (cat /proc/self/mountinfo):
# cat /proc/self/mountinfo | egrep sda2
The line for the mount of sda2 looks like this:
43 21 0:34 /root /mnt rw,relatime shared:30 - btrfs /dev/sda2 rw,compress=zlib,ssd,space_cache

We can see that the subvolume /root is mounted to /mnt from the device /dev/sda3
Notice how with regular mount command its missing:
# mount | egrep sda2
/dev/sda3 on /mnt type btrfs (rw,relatime,compress=zlib,ssd,space_cache)

Pacman will dump stuff into a boot folder, so we better mount our sda1 EFI boot partition to it. Or else all of the boot stuff will go to sda3 instead of sda1:

# cd /
# pacstrap -i /mnt base base-devel


Let us create the directory and mount the EFI partition
# cd /mnt
# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi

Let us generate the FSTAB:
# genfstab -p /mnt >> /mnt/etc/fstab


#################################################################

Let us chroot into the arch installation:
# arch-chroot /mnt /bin/bash

#################################################################

Change password:
# passwd


Then pick the right one like this and associate it with a link to /etc/localtime
# ln -s /usr/share/zoneinfo/US/Pacific /etc/localtime

Let us generate the initial RAM disk
# mkinitcpio -p linux

Let us setup the bootloader (GRUB)
# pacman -Syu grub efibootmgr

Let us generate the grub configuration
# grub-mkconfig -o /boot/grub/grub.cfg

Let us install grub into the HDD
# grub-install /dev/sda


-------------------------------------------------------------------

# umount -R /mnt
# umount /mnt
# reboot



From this step you can go straight and forward with the https://wiki.archlinux.org/index.php/Beginners%27_guide

Last edited by erickwill (2014-11-21 20:41:06)

Offline

#2 2014-11-18 18:10:19

Head_on_a_Stick
Member
From: Belsize Park
Registered: 2014-02-20
Posts: 8,193
Website

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

I don't think Windows 8.1 will boot in "compatability mode", at least that's what my firmware tells me when I select it...

I think the best solution is to boot in EFI mode and share the EFI system partition on the Windows disk with /boot for your Arch system, then install gummiboot there -- it should detect the Windows loader & provide an entry for it.

Last edited by Head_on_a_Stick (2014-11-18 18:12:05)


godisnowhere

Offline

#3 2014-11-18 18:21:57

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

Head_on_a_Stick wrote:

I don't think Windows 8.1 will boot in "compatability mode", at least that's what my firmware tells me when I select it...

I think the best solution is to boot in EFI mode and share the EFI system partition on the Windows disk with /boot for your Arch system, then install gummiboot there -- it should detect the Windows loader & provide an entry for it.


Thanks for your reply.
I tried to boot windows 8.1 in compatible mode and it just boots with no problem. I wonder if is possible to set in grub something like "/dev/sdb" to boot Windows 8.1.

Offline

#4 2014-11-18 18:43:00

TheSaint
Member
From: my computer
Registered: 2007-08-19
Posts: 1,523

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

As UEFI BIOS is a boot loader itself. You should make on each HDD an ESP.
When you want to start win8 you go to BIOS and chose its entry, so will do for Arch the same.
For this way I suggest you write to boot the kernel directly from the BIOS. It just take some reading on this topic
Other option you set on you second ESP the boot loader of your liking and it will try to find win8 partition.


do it good first, it will be faster than do it twice the saint wink

Offline

#5 2014-11-18 19:51:19

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

TheSaint wrote:

As UEFI BIOS is a boot loader itself. You should make on each HDD an ESP.
When you want to start win8 you go to BIOS and chose its entry, so will do for Arch the same.
For this way I suggest you write to boot the kernel directly from the BIOS. It just take some reading on this topic
Other option you set on you second ESP the boot loader of your liking and it will try to find win8 partition.

Thanks for your reply.
For the second option, may I use the compatibility mode and install the booloader into the first partition along with Arch?
Or in case the first option is still the better option, could you pleaaaase smile give me some directions from the scratch? Do you have Google Hangout?

Thanks in advance.

Last edited by erickwill (2014-11-18 19:54:26)

Offline

#6 2014-11-18 20:11:45

TheSaint
Member
From: my computer
Registered: 2007-08-19
Posts: 1,523

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

I MP to you wink


do it good first, it will be faster than do it twice the saint wink

Offline

#7 2014-11-18 20:42:20

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

TheSaint wrote:

I MP to you wink

Sorry? smile

Offline

#8 2014-11-18 23:48:32

Jauch
Member
From: Portugal
Registered: 2010-12-14
Posts: 57

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

He sent you a "Private Message" wink

Offline

#9 2014-11-19 00:34:08

TheSaint
Member
From: my computer
Registered: 2007-08-19
Posts: 1,523

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

I was using another localization big_smile


do it good first, it will be faster than do it twice the saint wink

Offline

#10 2014-11-21 20:41:53

erickwill
Member
Registered: 2013-11-05
Posts: 137

Re: [SOLVED]Arch Linux / UEFI / BTRFS using Grub2 & Windows 8 in a 2nd HDD

Solved.
The solution can be found at the first post.

Offline

Board footer

Powered by FluxBB