{"id":1891,"date":"2020-05-14T20:55:38","date_gmt":"2020-05-14T20:55:38","guid":{"rendered":"https:\/\/www.liainfraservices.com\/blog\/?p=1891"},"modified":"2022-06-02T05:50:13","modified_gmt":"2022-06-02T05:50:13","slug":"linux-booting-process","status":"publish","type":"post","link":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/","title":{"rendered":"Linux booting process"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span><div class='epvc-post-count'><span class='epvc-eye'><\/span>  <span class=\"epvc-count\"> 5,571<\/span><\/div>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"511\" src=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-boot_liainfraservices.com_.jpg\" alt=\"Linux booting process| Liainfraservices \" class=\"wp-image-1894\" srcset=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-boot_liainfraservices.com_.jpg 910w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-boot_liainfraservices.com_-300x168.jpg 300w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-boot_liainfraservices.com_-768x431.jpg 768w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-boot_liainfraservices.com_-748x421.jpg 748w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><span class=\"has-inline-color has-very-dark-gray-color\">The<a href=\"https:\/\/www.liainfraservices.com\/web-development\"> Linux booting process<\/a> is mainly divided into 5 steps.<\/span><\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">1.BIOS \/ UEFI&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.MBR<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.GRUB<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. KERNEL<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SYSTEMD [For new version distro ] or <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">INITD [For Old less than CentOS 6 ]<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>BIOS<\/strong> : This performs POST (power on self test) and then based on the boot order mentioned on CMOS, it selects the appropriate boot disk to execute the MBR. So, basically it executes the POST and hands over the task to MBR.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>MBR<\/strong> : MBR actually sits on the 1st sector (or famously known as zero sector) of the boot drive.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is also named as Stage-1 boot loader.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MBR hands over the control to a different programme called GRUB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GRUB<\/strong> : [Grand Unified Boot Loader] &#8211; This the default boot loader of Linux<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GRUB main purpose is just to Load the Kernel into MEMORY<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kernel<\/strong> : Once the Kernel is loaded into the Memory, Kernel initialises itself.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Then it loads the initrd image(Initial Ram Disk)&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eventually, this initrd.img contains the temporary root file system and other essential Kernel Modules, which are used to load the actual (\/) root file system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Once the root file system is loaded into the memory, the kernel goes to the <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">background and gives the control to Systemd<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Systemd<\/strong>: Here kernel actually forks the system demon and executes the process known as initd or systemd [This is the first process runs on the Linux upon booting, so it gets the pid as 1 ]<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.liainfraservices.com\/cloud-migration-services\"><img loading=\"lazy\" decoding=\"async\" width=\"729\" height=\"91\" src=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2021\/02\/To-know-more-about-Cloud-Migration-Services.jpg\" alt=\"Linux booting process - know more\" class=\"wp-image-2551\" srcset=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2021\/02\/To-know-more-about-Cloud-Migration-Services.jpg 729w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2021\/02\/To-know-more-about-Cloud-Migration-Services-300x37.jpg 300w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Explanation of Linux boot process and system initialization&nbsp; in more details:<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Bios\/UEFI initialization<\/strong> : <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Once we press the power button on our computer, it initialises its own firmware and gets the CPU running.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Importantly, one of the CPU processors(multi-core) is chosen as a boot-strap processor[BSP], the remaining processors are called application processor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">BSP remains active during the boot&nbsp; process and the AP remains halted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">the BSP executes the BIOS code, The BIOS code actually executes the POST.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the POST is completed, the BIOS next mission is to boot an OS[Operating system]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, it starts to locate the booting device,&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, the booting device can&nbsp; be a Hard Disk, CD, Flash drive, or a network device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At last, the CMOS contains the priority of the booting device, which can be changed by the user by loading the BIOS interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hard Disk is always the default boot device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, BIOS reads the Zero sector of the disk, which is 1st 512 bytes of the disk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The contents on that first 512 bytes, loads into the Memory.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>MBR<\/strong> : <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The Zero sector of the disk. First 512 Bytes of the disk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It contains the code that is known as Stage-1 boot loader.<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-regular\"><table><tbody><tr><td>512 Bytes = 440 bytes of Code + 4 Bytes of Disk Signature + 2 Bytes of Nulls + Four 16 bytes(64 Bytes) of partition table + 2 Bytes of MBR signature.<\/td><\/tr><\/tbody><\/table><figcaption>This shows how the MBR partition is structured<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To see the <strong>440 bytes of code<\/strong> into the MBR, execute the command &#8211;&gt; <strong><span class=\"has-inline-color has-luminous-vivid-orange-color\">dd if=\/dev\/xvda bs=440 count=1 | hexdump -C<\/span><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"535\" src=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-booting-process-liainfraservices.com_.png\" alt=\"https:\/\/lh6.googleusercontent.com\/GBXu17KhfnbdYTXHWza0IIJyd4zxQkltnZ9dnOS1njM4k8eyGH08SuJm3OanHorxDEYjHj6tjyonnpoJZUazGuk3fYceTYjKgrZqOQr7m5j80pxv-uYsTgYlhvsh3z-SpU8IeLHc\" class=\"wp-image-1893\" srcset=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-booting-process-liainfraservices.com_.png 531w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-booting-process-liainfraservices.com_-298x300.png 298w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-booting-process-liainfraservices.com_-150x150.png 150w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><code>To See the last <strong>2 bytes of MBR Signature<\/strong> --&gt; <strong><span class=\"has-inline-color has-luminous-vivid-orange-color\">dd if=\/dev\/xvda bs=512 count=1 | hexdump -C | tail -c 2 | hexdump -C<\/span><\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remember, the 440 bytes of code residing on the MBR actually cannot load the entire kernel, because it does not have the intelligence to learn about the file system etc.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, why do we care about this 440 bytes of code ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Because this is used to load the actual boot loader.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>The Boot Loader<\/strong> : <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A boot loader is the first software programme that runs when a computer starts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For instance,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Linux, LILO, GRUB-Legacy and GRUB2 are the bootloaders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows NTLDR (New Technology Loader), Loadlin(DOS)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">For Linux boot loader GRUB2, there are 3 stages.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Stage1<\/strong> &#8211; 446 bytes of boot.img resides on MBR &#8211;&gt; This is used to load the Stage 1.5 Bootloader<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Stage1.5<\/strong> &#8211; 30 KB of code, known as core.img. [512 B of MBR+30KB of Core.img+1st partition+2nd partition = 1st disk]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This is generally used to store the file system drivers and loadable kernel modules(LKM)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This enables the stage 1.5 to load stage 2 bootloader.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Stage2<\/strong> &#8211; Let&#8217;s identify what files belong to GRUB stage 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If you navigate to a Linux terminal on \/boot<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; You would see the files that is required to boot the OS<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li><strong>vmlinuz<\/strong> &#8211;&gt; Compressed bootable Kernel Image<\/li><li><strong>initrd.img<\/strong> or <strong>initramfs.img<\/strong>&nbsp; &#8211;&gt; This is the compressed virtual replica of the root file system.<\/li><li><strong>config<\/strong> &#8211;&gt; File contains the configuration parameters for the Linux kernel<\/li><li><strong>system.map<\/strong> &#8211;&gt; Symbol table used by the kernel<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Moreover, Grub displays the list of all OS and expects the user to select the OS that it should load.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"468\" src=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-grub-selection_liainfraservices.com_.jpg\" alt=\"Grub displays | Liainfraservices\n\" class=\"wp-image-1896\" srcset=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-grub-selection_liainfraservices.com_.jpg 705w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-grub-selection_liainfraservices.com_-300x199.jpg 300w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-grub-selection_liainfraservices.com_-640x425.jpg 640w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em><span class=\"has-inline-color has-vivid-red-color\">Now, where the flashing screen comes from.<\/span><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It comes from \/boot\/Grub\/grub.cfg &#8211;&gt; This file contents are shown on the terminal while the machine boots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If by any reason, you need to do some changes to this file, its better to change on the file under cat \/etc\/default\/grub<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After making any changes, execute either <span class=\"has-inline-color has-luminous-vivid-orange-color\">update-grub<\/span> or <span class=\"has-inline-color has-luminous-vivid-orange-color\">grub2-mkconfig<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, once the system boots and we select the kernel that needs to boot. And that leads us to the next stage.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Kernel Initialization<\/strong> :&nbsp;<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Here the Vmlinuz is uncompressed and loaded into the Memory,<\/li><li>Kernel initializes itself after it loads<\/li><li>It accessed the keyboard and other peripherals&nbsp;<\/li><li>Moreover, the Kernel is loaded into the memory, now it needs to perform its 2nd task to mount the Linux root (\/) file system.<\/li><li>But, to mount the root file system, it needs to access its Kernel modules, which are there under \/lib\/modules, which is not possible unless the root file system itself is mounted.<\/li><li>To get the solution, the image file called \/boot\/initrd.img uncompressed and loads&nbsp;<\/li><li>Meanwhile this initrd.img file contains the directories that mirrors the real file system&nbsp;.<\/li><li>Also, the contents of initrd.img file is a temporary root file system that helps the kernel to mount the root file system and load all kernel modules.<\/li><li>Subsequently, Kernel executes a command pivot_root which alters the temporary file system (initrd) from the memory and establish the permanent root file system (\/)<\/li><li>Finally, Kernel initialises the scheduler with PID=0<\/li><li>At this time, forks and executes \/sbin\/init or \/bin\/systemd program [ They are soft link to \/lib\/systemd\/systemd)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Systemd or init process: Based on the system run level the process takes further.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Few notes, that may be helpful. <\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"673\" height=\"991\" data-id=\"1898\" src=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-runlevels_liainfraservices.com_-1.jpg\" alt=\"\" class=\"wp-image-1898\" srcset=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-runlevels_liainfraservices.com_-1.jpg 673w, https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/Linux-runlevels_liainfraservices.com_-1-204x300.jpg 204w\" sizes=\"auto, (max-width: 673px) 100vw, 673px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption\">Note: This image was taken from google, so all the credit goes to the creator of this image<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As a result, In older Linux distro(Ubuntu 14, Debian 6, RHEL6 and CentOS 6, they use Init) They call as Runlevels<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; In this case the newer distro (Ubuntu 15.04, Debian 7, RHEL 7 &amp; CentoS7, they use Systemd) they call it as systemd or Targets<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Advantage of systemd is,<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">1. It performs Fast Booting<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. It gives the login prompt <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Gets displayed very soon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><span class=\"has-inline-color has-vivid-cyan-blue-color\"><strong>There are 7 Runlevels or targets<\/strong><\/span><\/code><\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-table is-style-regular\"><table class=\"has-fixed-layout\"><tbody><tr><td>Init Run Levels&nbsp; (Old Distro)<\/td><td>Systemd or Targets (New Distro)<\/td><\/tr><tr><td>0= Poweroff&nbsp;&nbsp;<br>1 = Rescue<br>2 = Multiuser (W\/O Network )<br>3 = Multi User (NW)<br>4 = Unused&nbsp;<br>5 = Graphical<br>6 = Reboot<\/td><td>0= Poweroff.Target<br>1 = Rescue Target 2 = Multiuser (W\/O Network ).Target<br>3 = Multi User (NW).target<br>4 = Unused.Target<br>5 = Graphical.Target 6 = Reboot.Target<\/td><\/tr><\/tbody><\/table><figcaption>Init run-level for old and new Linux distribution<\/figcaption><\/figure>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Conclusion<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">In conclusion, <span style=\"color:#0693e3\" class=\"color\"><a href=\"http:\/\/liainfraservices.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lia infraservices<\/a><\/span> is helping many SMB or enterprise-based customer to manage and consult the server related issues with<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-cyan-blue-color\"><span style=\"color:#0693e3\" class=\"color\"> web hosting<\/span><\/mark><span style=\"background-color:#ffffff\" class=\"background-color\"> <\/span>and <a href=\"https:\/\/www.liainfraservices.com\/web-development\" target=\"_blank\" rel=\"noreferrer noopener\"><span style=\"background-color:#ffffff\" class=\"background-color\"><span style=\"color:#0693e3\" class=\"color\">migrations<\/span><\/span><\/a>.<\/p>\n\n\n<div class=\"taxonomy-post_tag wp-block-post-terms has-medium-font-size\"><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/android-app-development-company-in-chennai\/\" rel=\"tag\">android app development company in chennai<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/android-app-development-in-saudi-arabia\/\" rel=\"tag\">android app development in saudi arabia<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/ios-app-development-company-in-chennai\/\" rel=\"tag\">ios app development company in chennai<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/ios-app-development-in-saudi-arabia\/\" rel=\"tag\">iOS App Development in Saudi Arabia<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/linux-booting-process\/\" rel=\"tag\">linux booting process<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/linux-kernel-panic-log\/\" rel=\"tag\">linux kernel panic log<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/mobile-app-development-company-in-chennai\/\" rel=\"tag\">mobile app development company in chennai<\/a><span class=\"wp-block-post-terms__separator\">|<\/span><a href=\"https:\/\/www.liainfraservices.com\/blog\/tag\/mobile-app-development-in-saudi-arabia\/\" rel=\"tag\">Mobile App Development in Saudi Arabia<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span>5,571 The Linux booting process is mainly divided into 5 steps. 1.BIOS \/ UEFI&nbsp; 2.MBR 3.GRUB 4. KERNEL SYSTEMD [For new version distro ] or INITD [For Old less than<\/p>\n","protected":false},"author":1,"featured_media":1900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[697],"tags":[886,944,887,943,705,266,826,941],"class_list":["post-1891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-migrations","tag-android-app-development-company-in-chennai","tag-android-app-development-in-saudi-arabia","tag-ios-app-development-company-in-chennai","tag-ios-app-development-in-saudi-arabia","tag-linux-booting-process","tag-linux-kernel-panic-log","tag-mobile-app-development-company-in-chennai","tag-mobile-app-development-in-saudi-arabia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Linux booting process - Blog | Liainfraservices<\/title>\n<meta name=\"description\" content=\"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux booting process - Blog | Liainfraservices\" \/>\n<meta property=\"og:description\" content=\"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | Liainfraservices\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-14T20:55:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-02T05:50:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"560\" \/>\n\t<meta property=\"og:image:height\" content=\"315\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Partho\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Partho\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/\"},\"author\":{\"name\":\"Partho\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#\\\/schema\\\/person\\\/b5a729cb152dd3bc7f07550ca9d223e4\"},\"headline\":\"Linux booting process\",\"datePublished\":\"2020-05-14T20:55:38+00:00\",\"dateModified\":\"2022-06-02T05:50:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/\"},\"wordCount\":1433,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/How-a-Linux-server-boots_liainfraservices.com_-1.png\",\"keywords\":[\"android app development company in chennai\",\"android app development in saudi arabia\",\"ios app development company in chennai\",\"iOS App Development in Saudi Arabia\",\"linux booting process\",\"linux kernel panic log\",\"mobile app development company in chennai\",\"Mobile App Development in Saudi Arabia\"],\"articleSection\":[\"Cloud Migrations\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/\",\"url\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/\",\"name\":\"Linux booting process - Blog | Liainfraservices\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/How-a-Linux-server-boots_liainfraservices.com_-1.png\",\"datePublished\":\"2020-05-14T20:55:38+00:00\",\"dateModified\":\"2022-06-02T05:50:13+00:00\",\"description\":\"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/How-a-Linux-server-boots_liainfraservices.com_-1.png\",\"contentUrl\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/How-a-Linux-server-boots_liainfraservices.com_-1.png\",\"width\":560,\"height\":315},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/linux-booting-process\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Migrations\",\"item\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/category\\\/cloud-migrations\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Linux booting process\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/\",\"name\":\"Blog | Liainfraservices\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#organization\",\"name\":\"Blog | Liainfraservices\",\"url\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/lia-logo-b-e1635340384244.png\",\"contentUrl\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/10\\\/lia-logo-b-e1635340384244.png\",\"width\":308,\"height\":96,\"caption\":\"Blog | Liainfraservices\"},\"image\":{\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.liainfraservices.com\\\/blog\\\/#\\\/schema\\\/person\\\/b5a729cb152dd3bc7f07550ca9d223e4\",\"name\":\"Partho\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g\",\"caption\":\"Partho\"},\"description\":\"Partho Das, founder of Lia Infraservices, has 15+ years of expertise in cloud solutions, DevOps, and infrastructure security. He provides consultation on architecture planning, DevOps setup, Kubernetes, and cloud migrations. Partho holds multiple AWS and Azure certifications, along with CISCO CCNA &amp; CCNP. Connect on LinkedIn\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/partho-dev\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linux booting process - Blog | Liainfraservices","description":"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/","og_locale":"en_US","og_type":"article","og_title":"Linux booting process - Blog | Liainfraservices","og_description":"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.","og_url":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/","og_site_name":"Blog | Liainfraservices","article_published_time":"2020-05-14T20:55:38+00:00","article_modified_time":"2022-06-02T05:50:13+00:00","og_image":[{"width":560,"height":315,"url":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png","type":"image\/png"}],"author":"Partho","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Partho","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#article","isPartOf":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/"},"author":{"name":"Partho","@id":"https:\/\/www.liainfraservices.com\/blog\/#\/schema\/person\/b5a729cb152dd3bc7f07550ca9d223e4"},"headline":"Linux booting process","datePublished":"2020-05-14T20:55:38+00:00","dateModified":"2022-06-02T05:50:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/"},"wordCount":1433,"commentCount":0,"publisher":{"@id":"https:\/\/www.liainfraservices.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#primaryimage"},"thumbnailUrl":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png","keywords":["android app development company in chennai","android app development in saudi arabia","ios app development company in chennai","iOS App Development in Saudi Arabia","linux booting process","linux kernel panic log","mobile app development company in chennai","Mobile App Development in Saudi Arabia"],"articleSection":["Cloud Migrations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/","url":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/","name":"Linux booting process - Blog | Liainfraservices","isPartOf":{"@id":"https:\/\/www.liainfraservices.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#primaryimage"},"image":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#primaryimage"},"thumbnailUrl":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png","datePublished":"2020-05-14T20:55:38+00:00","dateModified":"2022-06-02T05:50:13+00:00","description":"Linux booting process is pretty important for any Linux system administrator to understand, that gives the idea about the flow of troubleshooting.","breadcrumb":{"@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#primaryimage","url":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png","contentUrl":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2020\/05\/How-a-Linux-server-boots_liainfraservices.com_-1.png","width":560,"height":315},{"@type":"BreadcrumbList","@id":"https:\/\/www.liainfraservices.com\/blog\/linux-booting-process\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.liainfraservices.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloud Migrations","item":"https:\/\/www.liainfraservices.com\/blog\/category\/cloud-migrations\/"},{"@type":"ListItem","position":3,"name":"Linux booting process"}]},{"@type":"WebSite","@id":"https:\/\/www.liainfraservices.com\/blog\/#website","url":"https:\/\/www.liainfraservices.com\/blog\/","name":"Blog | Liainfraservices","description":"","publisher":{"@id":"https:\/\/www.liainfraservices.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.liainfraservices.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.liainfraservices.com\/blog\/#organization","name":"Blog | Liainfraservices","url":"https:\/\/www.liainfraservices.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.liainfraservices.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2021\/10\/lia-logo-b-e1635340384244.png","contentUrl":"https:\/\/www.liainfraservices.com\/blog\/wp-content\/uploads\/2021\/10\/lia-logo-b-e1635340384244.png","width":308,"height":96,"caption":"Blog | Liainfraservices"},"image":{"@id":"https:\/\/www.liainfraservices.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.liainfraservices.com\/blog\/#\/schema\/person\/b5a729cb152dd3bc7f07550ca9d223e4","name":"Partho","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6c5fc8918cc5dbc844eccbeaaf854eef27d2c79ab17ff0022304f712805d6959?s=96&d=mm&r=g","caption":"Partho"},"description":"Partho Das, founder of Lia Infraservices, has 15+ years of expertise in cloud solutions, DevOps, and infrastructure security. He provides consultation on architecture planning, DevOps setup, Kubernetes, and cloud migrations. Partho holds multiple AWS and Azure certifications, along with CISCO CCNA &amp; CCNP. Connect on LinkedIn","sameAs":["https:\/\/www.linkedin.com\/in\/partho-dev\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/posts\/1891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/comments?post=1891"}],"version-history":[{"count":52,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/posts\/1891\/revisions"}],"predecessor-version":[{"id":4899,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/posts\/1891\/revisions\/4899"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/media\/1900"}],"wp:attachment":[{"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/media?parent=1891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/categories?post=1891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liainfraservices.com\/blog\/wp-json\/wp\/v2\/tags?post=1891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}