Two drives with their own ESP

The name of the pictureThe name of the pictureThe name of the pictureClash 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!







share|improve this question



























    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!







    share|improve this question























      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!







      share|improve this question













      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!









      share|improve this question












      share|improve this question




      share|improve this question








      edited Jul 29 at 10:10









      Kusalananda

      101k13199311




      101k13199311









      asked Jul 29 at 10:06









      ReikonP

      31




      31




















          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/initon 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.






          share|improve this answer





















          • 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










          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          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






























          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/initon 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.






          share|improve this answer





















          • 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














          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/initon 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.






          share|improve this answer





















          • 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












          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/initon 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.






          share|improve this answer













          The no init found message tells me that the Linux kernel has already started up, but it fails to find /sbin/initon 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.







          share|improve this answer













          share|improve this answer



          share|improve this answer











          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
















          • 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












           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          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













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?