Two drives with their own ESP
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
0
down vote
favorite
I'm having a problem about how I boot to Linux. I tried and successfully boot if there is only one drive and one ESP. but my goal is to have two different drives with their own ESP. the first drive have Windows with its own ESP, and the second drive would be for Linux with its own ESP.
I'm doing this so that these drives would be independently boot even if the absence of the other drive.
What I did is I removed the first drive containing the windows and installed the Linux on the second drive. If the first drive isn't connected Linux boots perfectly.
Now my problem is if both of the drives are connected and when I boot to Linux it will tell me no init found try init=bootargs
, but the drive with Windows boots perfectly fine.
Can someone please give me insights or help because I really need help please? Thank you in advance!
dual-boot uefi boot-loader
add a comment |Â
up vote
0
down vote
favorite
I'm having a problem about how I boot to Linux. I tried and successfully boot if there is only one drive and one ESP. but my goal is to have two different drives with their own ESP. the first drive have Windows with its own ESP, and the second drive would be for Linux with its own ESP.
I'm doing this so that these drives would be independently boot even if the absence of the other drive.
What I did is I removed the first drive containing the windows and installed the Linux on the second drive. If the first drive isn't connected Linux boots perfectly.
Now my problem is if both of the drives are connected and when I boot to Linux it will tell me no init found try init=bootargs
, but the drive with Windows boots perfectly fine.
Can someone please give me insights or help because I really need help please? Thank you in advance!
dual-boot uefi boot-loader
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm having a problem about how I boot to Linux. I tried and successfully boot if there is only one drive and one ESP. but my goal is to have two different drives with their own ESP. the first drive have Windows with its own ESP, and the second drive would be for Linux with its own ESP.
I'm doing this so that these drives would be independently boot even if the absence of the other drive.
What I did is I removed the first drive containing the windows and installed the Linux on the second drive. If the first drive isn't connected Linux boots perfectly.
Now my problem is if both of the drives are connected and when I boot to Linux it will tell me no init found try init=bootargs
, but the drive with Windows boots perfectly fine.
Can someone please give me insights or help because I really need help please? Thank you in advance!
dual-boot uefi boot-loader
I'm having a problem about how I boot to Linux. I tried and successfully boot if there is only one drive and one ESP. but my goal is to have two different drives with their own ESP. the first drive have Windows with its own ESP, and the second drive would be for Linux with its own ESP.
I'm doing this so that these drives would be independently boot even if the absence of the other drive.
What I did is I removed the first drive containing the windows and installed the Linux on the second drive. If the first drive isn't connected Linux boots perfectly.
Now my problem is if both of the drives are connected and when I boot to Linux it will tell me no init found try init=bootargs
, but the drive with Windows boots perfectly fine.
Can someone please give me insights or help because I really need help please? Thank you in advance!
dual-boot uefi boot-loader
edited Jul 29 at 10:10
Kusalananda
101k13199311
101k13199311
asked Jul 29 at 10:06
ReikonP
31
31
add a comment |Â
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
The no init found
message tells me that the Linux kernel has already started up, but it fails to find /sbin/init
on the root filesystem, possibly because it's looking at the wrong place.
Find out how your Linux bootloader settings identify the root filesystem. Typically it's a root=
option for the Linux kernel.
If the root filesystem is identified as /dev/sdaN
(where N is a number), then it specifies the Nth partition on whichever disk is detected first by the drivers included in your initramfs/initrd file. When you have only the Linux drive connected, this assumption is correct and your system boots fine. But when both disks are connected, your Windows disk is detected first and the root=/dev/sdaN
option effectively points to the wrong disk.
The best way to fix this would be to specify your root filesystem in a way that is not dependent of disk detection order.
While in Linux, run blkid
as root. It will list each disk partition it can see, and all identifiers for them. Find the line matching the partition containing your root filesystem: it should have an UUID=<a long hexadecimal string>
value listed. It may or may not also have a LABEL=<a short name>
. There will also be a PARTUUID
and possibly a PARTLABEL
listed; ignore them.
In most Linux distributions, you can change the root=/dev/sdaN
option to the form root=UUID=<the long hexadecimal string form blkid>
. This way your root filesystem will be explicitly identified by the unique filesystem UUID and not by its detection order.
Since you did not specify the name and version of your Linux distribution, I cannot tell you exactly where you should make this modification, as the location of bootloader configuration varies somewhat in different Linux distributions. But on modern distributions, /etc/default/grub
might be a good guess. After modifying /etc/default/grub
, you'll usually have to run some command to update the actual bootloader: it might be update-grub
or grub-mkconfig
or something similar.
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
The no init found
message tells me that the Linux kernel has already started up, but it fails to find /sbin/init
on the root filesystem, possibly because it's looking at the wrong place.
Find out how your Linux bootloader settings identify the root filesystem. Typically it's a root=
option for the Linux kernel.
If the root filesystem is identified as /dev/sdaN
(where N is a number), then it specifies the Nth partition on whichever disk is detected first by the drivers included in your initramfs/initrd file. When you have only the Linux drive connected, this assumption is correct and your system boots fine. But when both disks are connected, your Windows disk is detected first and the root=/dev/sdaN
option effectively points to the wrong disk.
The best way to fix this would be to specify your root filesystem in a way that is not dependent of disk detection order.
While in Linux, run blkid
as root. It will list each disk partition it can see, and all identifiers for them. Find the line matching the partition containing your root filesystem: it should have an UUID=<a long hexadecimal string>
value listed. It may or may not also have a LABEL=<a short name>
. There will also be a PARTUUID
and possibly a PARTLABEL
listed; ignore them.
In most Linux distributions, you can change the root=/dev/sdaN
option to the form root=UUID=<the long hexadecimal string form blkid>
. This way your root filesystem will be explicitly identified by the unique filesystem UUID and not by its detection order.
Since you did not specify the name and version of your Linux distribution, I cannot tell you exactly where you should make this modification, as the location of bootloader configuration varies somewhat in different Linux distributions. But on modern distributions, /etc/default/grub
might be a good guess. After modifying /etc/default/grub
, you'll usually have to run some command to update the actual bootloader: it might be update-grub
or grub-mkconfig
or something similar.
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
add a comment |Â
up vote
0
down vote
accepted
The no init found
message tells me that the Linux kernel has already started up, but it fails to find /sbin/init
on the root filesystem, possibly because it's looking at the wrong place.
Find out how your Linux bootloader settings identify the root filesystem. Typically it's a root=
option for the Linux kernel.
If the root filesystem is identified as /dev/sdaN
(where N is a number), then it specifies the Nth partition on whichever disk is detected first by the drivers included in your initramfs/initrd file. When you have only the Linux drive connected, this assumption is correct and your system boots fine. But when both disks are connected, your Windows disk is detected first and the root=/dev/sdaN
option effectively points to the wrong disk.
The best way to fix this would be to specify your root filesystem in a way that is not dependent of disk detection order.
While in Linux, run blkid
as root. It will list each disk partition it can see, and all identifiers for them. Find the line matching the partition containing your root filesystem: it should have an UUID=<a long hexadecimal string>
value listed. It may or may not also have a LABEL=<a short name>
. There will also be a PARTUUID
and possibly a PARTLABEL
listed; ignore them.
In most Linux distributions, you can change the root=/dev/sdaN
option to the form root=UUID=<the long hexadecimal string form blkid>
. This way your root filesystem will be explicitly identified by the unique filesystem UUID and not by its detection order.
Since you did not specify the name and version of your Linux distribution, I cannot tell you exactly where you should make this modification, as the location of bootloader configuration varies somewhat in different Linux distributions. But on modern distributions, /etc/default/grub
might be a good guess. After modifying /etc/default/grub
, you'll usually have to run some command to update the actual bootloader: it might be update-grub
or grub-mkconfig
or something similar.
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
add a comment |Â
up vote
0
down vote
accepted
up vote
0
down vote
accepted
The no init found
message tells me that the Linux kernel has already started up, but it fails to find /sbin/init
on the root filesystem, possibly because it's looking at the wrong place.
Find out how your Linux bootloader settings identify the root filesystem. Typically it's a root=
option for the Linux kernel.
If the root filesystem is identified as /dev/sdaN
(where N is a number), then it specifies the Nth partition on whichever disk is detected first by the drivers included in your initramfs/initrd file. When you have only the Linux drive connected, this assumption is correct and your system boots fine. But when both disks are connected, your Windows disk is detected first and the root=/dev/sdaN
option effectively points to the wrong disk.
The best way to fix this would be to specify your root filesystem in a way that is not dependent of disk detection order.
While in Linux, run blkid
as root. It will list each disk partition it can see, and all identifiers for them. Find the line matching the partition containing your root filesystem: it should have an UUID=<a long hexadecimal string>
value listed. It may or may not also have a LABEL=<a short name>
. There will also be a PARTUUID
and possibly a PARTLABEL
listed; ignore them.
In most Linux distributions, you can change the root=/dev/sdaN
option to the form root=UUID=<the long hexadecimal string form blkid>
. This way your root filesystem will be explicitly identified by the unique filesystem UUID and not by its detection order.
Since you did not specify the name and version of your Linux distribution, I cannot tell you exactly where you should make this modification, as the location of bootloader configuration varies somewhat in different Linux distributions. But on modern distributions, /etc/default/grub
might be a good guess. After modifying /etc/default/grub
, you'll usually have to run some command to update the actual bootloader: it might be update-grub
or grub-mkconfig
or something similar.
The no init found
message tells me that the Linux kernel has already started up, but it fails to find /sbin/init
on the root filesystem, possibly because it's looking at the wrong place.
Find out how your Linux bootloader settings identify the root filesystem. Typically it's a root=
option for the Linux kernel.
If the root filesystem is identified as /dev/sdaN
(where N is a number), then it specifies the Nth partition on whichever disk is detected first by the drivers included in your initramfs/initrd file. When you have only the Linux drive connected, this assumption is correct and your system boots fine. But when both disks are connected, your Windows disk is detected first and the root=/dev/sdaN
option effectively points to the wrong disk.
The best way to fix this would be to specify your root filesystem in a way that is not dependent of disk detection order.
While in Linux, run blkid
as root. It will list each disk partition it can see, and all identifiers for them. Find the line matching the partition containing your root filesystem: it should have an UUID=<a long hexadecimal string>
value listed. It may or may not also have a LABEL=<a short name>
. There will also be a PARTUUID
and possibly a PARTLABEL
listed; ignore them.
In most Linux distributions, you can change the root=/dev/sdaN
option to the form root=UUID=<the long hexadecimal string form blkid>
. This way your root filesystem will be explicitly identified by the unique filesystem UUID and not by its detection order.
Since you did not specify the name and version of your Linux distribution, I cannot tell you exactly where you should make this modification, as the location of bootloader configuration varies somewhat in different Linux distributions. But on modern distributions, /etc/default/grub
might be a good guess. After modifying /etc/default/grub
, you'll usually have to run some command to update the actual bootloader: it might be update-grub
or grub-mkconfig
or something similar.
answered Jul 29 at 11:59
telcoM
9,82111032
9,82111032
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
add a comment |Â
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
Thank you so much! This is what I'm looking for for days. You just save me alot of time. This was my guess that since the secondary drive is the only drive that is connecte, it will set the bootload to sda. But when I put back the primary drive it eill automatically put the secondary drive to sdh. What I did is that I changed the root to the right drive just like you said. I like how you gave me more details about UID. The linux distro is based on debian.
â ReikonP
Jul 30 at 6:09
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f459157%2ftwo-drives-with-their-own-esp%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password