Knowledge

Bootloader

Source đź“ť

1774: 39: 101:
instructions typically start an input operation from some peripheral device (which may be switch-selectable by the operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of boot loader instructions into memory; a completion signal from the I/O device may then be used to start execution of the instructions by the CPU.
31: 143: 378:). Some boot loaders can also load other boot loaders; for example, GRUB loads BOOTMGR instead of loading Windows directly. Usually, a default choice is preselected with a time delay during which a user can press a key to change the choice; after this delay, the default choice is automatically run so normal booting can occur without interaction. 444:(PXE) image. No drivers are required, but the system functionality is limited until the operating system kernel and drivers are transferred and started. As a result, once the ROM-based booting has completed it is entirely possible to network boot into an operating system that itself does not have the ability to use the network interface. 1080:), and as soon as the boot sector is a DR-DOS sector, it will find and load them. Of course, it is difficult to put all this into just 512 bytes, the size of a single sector, but this is a major convenience improvement if you have to set up a DR-DOS system, and it is also the key for the DR-DOS multi-OS 1074:. The DR-DOS boot sector will find the kernel files as long as they are logically stored in the root directory. Their physical location on the disk, and if they are fragmented or not, is don't care for the DR-DOS boot sector. Hence, you can just copy the kernel files to the disk (even with a simply 260:
EBPB introduced with DOS 7.1 requires even 87 bytes, leaving only 423 bytes for the boot loader when assuming a sector size of 512 bytes. Microsoft boot sectors, therefore, traditionally imposed certain restrictions on the boot process. For example, the boot file had to be located at a fixed position
410:
Large and complex systems may have boot procedures that proceed in multiple phases until finally the operating system and other programs are loaded and ready to execute. Because operating systems are designed as if they never start or stop, a boot loader might load the operating system, configure
104:
Smaller computers often use less flexible but more automatic boot loader mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU executing software contained in ROM
100:
Some earlier computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These
276:
physical sectors, using 386 instructions for size reasons. At the same time, other vendors managed to squeeze much more functionality into a single boot sector without relaxing the original constraints on only minimal available memory (32 KiB) and processor support (8088/8086). For example,
181:
Boot loaders may face peculiar constraints, especially in size; for instance, on the earlier IBM PC and compatibles, a boot sector should typically work with 510 bytes of code (or less) and in only 32 KiB (later relaxed to 64 KiB) of system memory and only use instructions supported by the
1167:, DR-DOS has "smart" boot sectors which will actually "mount" the file-system to search for and load the system files in the root directory instead of expecting them to be placed at a certain location. Physically, the system files can be located anywhere and also can be fragmented. 1088:
kernel files must reside on specific locations, but the DR-DOS files can be anywhere, so you don't have to physically swap them around each time you boot the other OS. Also, it allows to upgrade a DR-DOS system simply by copying the kernel files over the old ones, no need for
826:; Pollock, John; Reynolds, Aaron; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Technical advisors". 267:
command and slightly relaxed in later versions of DOS. The boot loader was then able to load the first three sectors of the file into memory, which happened to contain another embedded boot loader able to load the remainder of the file into memory. When Microsoft added
121:, are designed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section (most commonly the 962:
so you don't have to worry about leaving the first cluster free on a disk that you want to make bootable. The DR DOS system files can be located anywhere on the disk, so any disk with enough free space can be set to boot your system.
487:
manual incorrectly states that the system files no longer need to be contiguous. However, for the boot process to work the system files still need to occupy the first two directory entries and the first three sectors of
365:
from different partitions or drives), different versions of the same operating system (in case a new version has unexpected problems), different operating system loading options (e.g., booting into a rescue or
1621: 1146:
does not only partition a disk, but can also format the freshly created volumes and initialize their boot sectors in one go, so there's no risk to accidentally mess up the wrong volume and no need for
806:; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; 733: 350:, are not themselves operating systems, but are able to load an operating system properly and transfer execution to it; the operating system subsequently initializes itself and may load extra 1179: 940: 381:
The boot process can be considered complete when the computer is ready to interact with the user, or the operating system is capable of running system programs or application programs.
1099:. You can even have multiple DR-DOS kernel files under different file names stored on the same drive, and LOADER will switch between them according to the file names listed in the 909: 411:
itself as a mere process within that system, and then irrevocably transfer control to the operating system. The boot loader then terminates normally as any other process would.
354:. The second-stage boot loader does not need drivers for its own operation, but may instead use generic storage access methods provided by system firmware such as the BIOS or 814:; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; 440:
As with the second-stage boot loader, network booting begins by using generic network access methods provided by the network interface's boot ROM, which typically contains a
810:; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; 1041: 918: 993: 916: 407:
so the device can begin functioning immediately; little or no loading is necessary, because the loading can be precomputed and stored on the ROM when the device is made.
214:, which the BIOS requires for a proper boot loader — or even less, when additional features like more than four partition entries (up to 16 with 16 bytes each), a 870:(xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors. 634:'s size never exceeded this limit in previous versions without this loader. Combined with a dual entry structure this also allows the system to be loaded by a 838:; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Completely reworked ed.). Redmond, Washington, USA: 161: 1187: 630:
to check for this condition and load the remainder of the file into memory by itself if necessary. This does not cause compatibility problems, as
1702: 1159:. Afterwards, you could just copy over the remaining DR-DOS files, including the system files. It is important to know that, in contrast to 716: 361:
Many boot loaders can be configured to give the user multiple booting choices. These choices can include different operating systems (for
277:
DR-DOS boot sectors are able to locate the boot file in the FAT12, FAT16 and FAT32 file systems, and load it into memory as a whole via
1253: 73:
When a computer is turned off, its software‍—‌including operating systems, application code, and data‍—‌remains stored on
911: 1124: 1276: 335: 1659: 914: 2351: 717:"Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT and BOOT.TXT - A short description of how OpenDOS is booted" 901: 626:
VBR would only load the first 29 KB of the file into memory, relying on another loader embedded into the first part of
2275: 93:) along with some needed data, to initialize RAM (especially on x86 systems), to access the nonvolatile device (usually 1760: 1695: 2344: 1737: 847: 437:(TFTP). After these parts have been transferred, the operating system takes over the control of the booting process. 1033: 985: 888:
Chappell, Geoff (January 1994). "Chapter 2: The system footprint". In Schulman, Andrew; Pedersen, Amorette (eds.).
610:
file is larger than some 29 KB, trying to load the whole file into memory would result in the boot loader to
211: 1576: 1404: 261:
in the root directory of the file system and stored within consecutive sectors, conditions taken care of by the
1246: 561: 434: 871: 2409: 2014: 1744: 1688: 1321: 441: 370:), and some standalone programs that can function without an operating system, such as memory testers (e.g., 1773: 1868: 1664: 569: 253: 2439: 2036: 400: 97:, e.g., NAND flash) or devices from which the operating system programs and data can be loaded into RAM. 17: 66:
a computer. If it also provides an interactive menu with multiple boot choices then it's often called a
1730: 1611: 1581: 295:
from a non-volatile device, they can also initialize system hardware for the loaded operating systems.
238: 2077: 1903: 1875: 1566: 1558: 1311: 1239: 464: 215: 207: 769: 565: 1753: 1591: 1571: 541: 537: 269: 257: 249: 77:. When the computer is powered on, it typically does not have an operating system or its loader in 38: 1419: 1116: 375: 1409: 619: 573: 219: 1081: 930: 830:. By Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; 2581: 1341: 1281: 970:
utility while in fact this is a feature of the advanced bootstrap loader in the boot sector.
687: 110: 770:
Compaq computer corporation; Phoenix technologies ltd; Intel corporation (11 January 1996).
572:
techniques to squeeze everything into a single physical sector, as it was a requirement for
433:, and certain parts of it are transferred to the client using a simple protocol such as the 403:
to start is generally unacceptable. Therefore, such devices have software systems in ROM or
2284: 2250: 2200: 2070: 1965: 1882: 1806: 1799: 1669: 1603: 1382: 1291: 529: 458: 278: 245: 223: 78: 190:
processors. The first stage of PC boot loaders (FSBL, first-stage boot loader) located on
8: 2291: 2264: 2095: 1935: 1889: 1467: 1399: 1306: 553: 74: 771: 27:
Software responsible for starting the Computer and Load other software to the CPU memory
2552: 2323: 2257: 1326: 720: 597: 517: 513: 430: 396: 281:
or LBA, even if the file is not stored in a fixed location and in consecutive sectors.
241: 203: 94: 2559: 2228: 2221: 2007: 1616: 1538: 1424: 1316: 1301: 897: 861: 853: 843: 114: 90: 157: 2524: 2471: 2464: 2050: 1972: 1505: 1414: 1353: 1331: 1148: 1020:) file and then loads the *whole* file into memory before it passes control to it. 426: 292: 82: 59: 2400: 1958: 1813: 1389: 1377: 1336: 1262: 839: 835: 823: 420: 392: 358:, though typically with restricted hardware functionality and lower performance. 191: 1928: 1631: 1513: 1485: 1434: 1296: 1076: 893: 795: 659: 195: 30: 2575: 2123: 2116: 1854: 1783: 1636: 1548: 1155: 1091: 954: 831: 815: 811: 803: 581: 577: 496: 362: 355: 351: 263: 227: 865: 623: 549: 533: 484: 2378: 2144: 1896: 1533: 1346: 819: 745: 638:
VBR, which would load only the first three sectors of the file into memory.
404: 1064:
file into memory before it executes it. It does not care at all about the
959: 2510: 2446: 2109: 2061: 1646: 1586: 1394: 935: 234: 126: 122: 81:(RAM). The computer first executes a relatively small program stored in 2545: 2531: 2371: 2043: 1845: 1680: 1626: 1452: 1164: 1096: 1066: 1060: 1017: 1012: 892:. The Andrew Schulman programming series (1st printing, 1st ed.). 807: 799: 635: 615: 602: 525: 490: 315: 187: 183: 118: 2517: 2165: 2000: 1993: 1949: 1523: 1117:"The continuing saga of Windows 3.1 in enhanced mode on OmniBook 300" 371: 367: 311: 1226: 429:. In this scenario, the operating system is stored on the disk of a 2538: 2503: 2337: 2193: 2130: 1986: 1979: 1711: 1480: 1372: 1363: 1231: 453: 339: 327: 307: 2432: 2172: 2151: 2102: 1942: 1921: 1715: 1641: 1528: 1518: 1457: 1444: 63: 857: 272:
and FAT32 support, they switched to a boot loader reaching over
2485: 2214: 2179: 1543: 1475: 1201: 1160: 1138: 1100: 1085: 1055: 1007: 594: 557: 545: 521: 331: 86: 788: 125:) of the most promising device, typically starting at a fixed 2478: 2330: 2186: 2158: 2137: 1142: 939:. Vol. 10, no. 3. pp. 241–246, 257, 264, 266. 883: 881: 879: 818:; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; 347: 343: 528:
counterparts could still be achieved utilizing conventional
2423: 2416: 2385: 2207: 1861: 1838: 1831: 1495: 1490: 1429: 794: 395:
must boot immediately. For example, waiting a minute for a
303: 299: 288: 284: 230:
loaders have to be supported as well in some environments.
199: 106: 876: 576:- and cross-compatibility with other operating systems in 512:
As an example, while the extended functionality of DR-DOS
117:) at a predefined address (some CPUs, including the Intel 660:"GNU GRUB - GNU Project - Free Software Foundation (FSF)" 477: 384: 1180:"Chapter 6 - Troubleshooting startup and disk problems" 1095:, no difficult setup procedures as required for MS-DOS/ 374:), a basic shell (as in GNU GRUB), or even games (see 587: 425:Most computers are also capable of booting over a 828:The MS-DOS Encyclopedia: versions 1.0 through 3.2 710: 708: 2573: 508: 506: 206:in order to leave room for the default 64-byte 2087: 922: 705: 622:disk parameter table (DPT/FDPB). Therefore, a 560:-level programming, controlled utilization of 162:sources that evaluate within a broader context 1696: 1247: 500:continues to take care of these requirements. 210:with four partition entries and the two-byte 737: 503: 298:Examples of first-stage bootloaders include 931:"DR DOS 5.0 - The better operating system?" 321: 2298: 1703: 1689: 1254: 1240: 132: 34:GNU GRUB, a popular open source bootloader 1108: 1025: 977: 682: 680: 1710: 887: 743: 593:There is one exception to the rule that 37: 29: 974:just plants this sector onto the disk.) 966:(NB. The source attributes this to the 746:"Why BIOS loads MBR into 7C00h in x86?" 14: 2574: 1032:Paul, Matthias R. (20 February 2002). 763: 677: 494:still need to be stored contiguously. 244:, up to 59 bytes are occupied for the 1684: 1235: 1115:Paul, Matthias R. (14 August 2017) . 984:Paul, Matthias R. (17 January 2001). 928: 715:Paul, Matthias R. (2 October 1997) . 385:Embedded and multi-stage boot loaders 152:focuses too much on specific examples 1261: 1121:MoHPC - the museum of HP calculators 1114: 1031: 983: 714: 136: 1127:from the original on 6 October 2017 1044:from the original on 6 October 2017 996:from the original on 6 October 2017 929:Rosch, Winn L. (12 February 1991). 652: 611: 326:Second-stage boot loaders, such as 256:volumes since DOS 4.0, whereas the 24: 744:Sakamoto, Masahiko (13 May 2010). 414: 25: 2593: 1220: 943:from the original on 25 July 2019 129:such as the start of the sector. 1772: 908:(xxvi+738+iv pages, 3.5"-floppy 141: 1577:Light-weight Linux distribution 1405:Hacking of consumer electronics 1194: 1172: 1184:Windows NT server resource kit 1010:boot sector searches for the 822:; Perez, Gary; Peters, Chris; 772:"BIOS boot specification 1.01" 435:Trivial File Transfer Protocol 13: 1: 2410:Preboot Execution Environment 2015:Run-Time Abstraction Services 645: 442:Preboot Execution Environment 246:extended BIOS parameter block 1869:MultiProcessor Specification 1665:List of open-source hardware 1058:boot sector loads the whole 198:must fit into the first 446 7: 2440:Remote Initial Program Load 2037:Common Firmware Environment 1186:. Microsoft. Archived from 447: 291:can not only load multiple 10: 2598: 2029:Hybrid firmware bootloader 1770: 1582:Real-time operating system 418: 2495: 2456: 2399: 2363: 2315: 2308: 2274: 2242: 2078:Comparison of bootloaders 2060: 2028: 1913: 1823: 1791: 1781: 1722: 1655: 1602: 1567:Linux on embedded systems 1557: 1504: 1466: 1443: 1362: 1269: 1070:file, which is loaded by 606:file into memory: If the 552:sectors had to resort to 465:Comparison of bootloaders 224:Advanced Active Partition 1572:Linux for mobile devices 958:has been improved under 564:, multi-level data/code 470: 322:Second-stage boot loader 62:that is responsible for 1966:Phoenix SecureCore UEFI 1420:PlayStation 3 Jailbreak 1227:Bootloader - OSDev Wiki 376:List of PC Booter games 133:First-stage boot loader 1410:Homebrew (video games) 536:, for the addition of 226:(18 bytes) or special 43: 35: 1604:Programming languages 1342:Single-board computer 1282:Board support package 1084:utility to work. The 401:GPS navigation device 363:dual or multi-booting 41: 33: 2285:EFI system partition 2251:GUID Partition Table 2201:Windows Boot Manager 2071:Bootloader unlocking 1883:Legacy Plug and Play 1807:Open-source firmware 1800:Proprietary firmware 1670:Open-source robotics 1660:Lightweight browsers 1383:Proprietary firmware 1292:Consumer electronics 600:will load the whole 485:PC DOS 5.0 459:Initial Program Load 158:improve this section 79:random-access memory 2292:BIOS boot partition 2265:Apple Partition Map 2096:Acronis OS Selector 1936:American Megatrends 1400:Defective by Design 1307:Embedded hypervisor 750:glamenv-septzen.net 692:www.freedesktop.org 554:self-modifying code 242:volume boot records 75:non-volatile memory 2553:Power-on self-test 2258:Master boot record 1468:Software libraries 520:compared to their 397:digital television 204:master boot record 105:(for example, the 50:, also spelled as 44: 42:Windows bootloader 36: 2569: 2568: 2395: 2394: 2243:Partition layouts 2238: 2237: 2222:Plop Boot Manager 2024: 2023: 1678: 1677: 1617:Assembly language 1559:Operating systems 1539:Stand-alone shell 1506:Programming tools 1425:Rooting (Android) 1317:Embedded software 1302:Embedded database 986:"FAT32 in DR-DOS" 903:978-0-201-60835-9 723:on 4 October 2003 532:techniques up to 530:code optimization 293:operating systems 179: 178: 115:IBM PC compatible 16:(Redirected from 2589: 2562: 2555: 2548: 2541: 2534: 2527: 2525:Execute in place 2520: 2513: 2506: 2488: 2481: 2474: 2467: 2449: 2442: 2435: 2426: 2419: 2412: 2388: 2381: 2374: 2354: 2347: 2340: 2333: 2326: 2313: 2312: 2301: 2294: 2287: 2267: 2260: 2253: 2231: 2224: 2217: 2210: 2203: 2196: 2189: 2182: 2175: 2168: 2161: 2154: 2147: 2140: 2133: 2126: 2119: 2112: 2105: 2098: 2085: 2084: 2080: 2073: 2053: 2046: 2039: 2017: 2010: 2003: 1996: 1989: 1982: 1975: 1973:TianoCore EDK II 1968: 1961: 1952: 1945: 1938: 1931: 1924: 1906: 1899: 1892: 1885: 1878: 1871: 1864: 1857: 1848: 1841: 1834: 1816: 1809: 1802: 1789: 1788: 1776: 1763: 1756: 1747: 1740: 1733: 1705: 1698: 1691: 1682: 1681: 1415:iOS jailbreaking 1332:Memory footprint 1263:Embedded systems 1256: 1249: 1242: 1233: 1232: 1214: 1213: 1211: 1209: 1198: 1192: 1191: 1176: 1170: 1169: 1158: 1152: 1145: 1134: 1132: 1112: 1106: 1105: 1094: 1079: 1073: 1069: 1063: 1051: 1049: 1029: 1023: 1022: 1015: 1003: 1001: 981: 975: 973: 969: 965: 957: 950: 948: 926: 920: 907: 885: 874: 869: 836:Petzold, Charles 824:Petzold, Charles 792: 786: 785: 783: 781: 776: 767: 761: 760: 758: 756: 741: 735: 732: 730: 728: 719:. Archived from 712: 703: 702: 700: 698: 684: 675: 674: 672: 670: 656: 639: 633: 629: 624:DR-DOS 7.07 609: 605: 591: 585: 568:and algorithmic 510: 501: 499: 493: 481: 427:computer network 393:embedded systems 266: 196:removable drives 174: 171: 165: 145: 144: 137: 85:(ROM, and later 83:read-only memory 60:computer program 56:bootstrap loader 21: 2597: 2596: 2592: 2591: 2590: 2588: 2587: 2586: 2572: 2571: 2570: 2565: 2558: 2551: 2544: 2537: 2530: 2523: 2516: 2509: 2502: 2491: 2484: 2477: 2470: 2463: 2452: 2445: 2438: 2431: 2422: 2415: 2408: 2391: 2384: 2377: 2370: 2359: 2350: 2343: 2336: 2329: 2322: 2304: 2297: 2290: 2283: 2270: 2263: 2256: 2249: 2234: 2227: 2220: 2213: 2206: 2199: 2192: 2185: 2178: 2171: 2164: 2157: 2150: 2143: 2136: 2129: 2122: 2115: 2108: 2101: 2094: 2088:Implementations 2083: 2076: 2069: 2056: 2049: 2042: 2035: 2020: 2013: 2006: 1999: 1992: 1985: 1978: 1971: 1964: 1957: 1948: 1941: 1934: 1927: 1920: 1914:Implementations 1909: 1902: 1895: 1888: 1881: 1874: 1867: 1860: 1853: 1844: 1837: 1830: 1819: 1814:Custom firmware 1812: 1805: 1798: 1777: 1768: 1759: 1752: 1743: 1736: 1729: 1718: 1709: 1679: 1674: 1651: 1598: 1553: 1500: 1462: 1439: 1390:Closed platform 1378:Custom firmware 1358: 1337:Microcontroller 1265: 1260: 1223: 1218: 1217: 1207: 1205: 1200: 1199: 1195: 1190:on 15 May 2007. 1178: 1177: 1173: 1154: 1147: 1141: 1130: 1128: 1113: 1109: 1090: 1075: 1071: 1065: 1059: 1047: 1045: 1038:opendos@delorie 1030: 1026: 1011: 999: 997: 990:opendos@delorie 982: 978: 971: 967: 960:DR DOS 5.0 953: 946: 944: 927: 923: 904: 886: 877: 850: 840:Microsoft Press 796:Zbikowski, Mark 793: 789: 779: 777: 774: 768: 764: 754: 752: 742: 738: 726: 724: 713: 706: 696: 694: 686: 685: 678: 668: 666: 658: 657: 653: 648: 643: 642: 631: 627: 607: 601: 592: 588: 511: 504: 495: 489: 482: 478: 473: 450: 423: 421:Network booting 417: 415:Network booting 387: 324: 262: 208:partition table 175: 169: 166: 155: 146: 142: 135: 28: 23: 22: 15: 12: 11: 5: 2595: 2585: 2584: 2567: 2566: 2564: 2563: 2556: 2549: 2542: 2535: 2528: 2521: 2514: 2507: 2499: 2497: 2493: 2492: 2490: 2489: 2482: 2475: 2468: 2460: 2458: 2454: 2453: 2451: 2450: 2443: 2436: 2429: 2428: 2427: 2420: 2405: 2403: 2397: 2396: 2393: 2392: 2390: 2389: 2382: 2375: 2367: 2365: 2361: 2360: 2358: 2357: 2356: 2355: 2341: 2334: 2327: 2319: 2317: 2310: 2306: 2305: 2303: 2302: 2295: 2288: 2280: 2278: 2272: 2271: 2269: 2268: 2261: 2254: 2246: 2244: 2240: 2239: 2236: 2235: 2233: 2232: 2225: 2218: 2211: 2204: 2197: 2190: 2183: 2176: 2169: 2162: 2155: 2148: 2141: 2134: 2127: 2120: 2113: 2106: 2099: 2091: 2089: 2082: 2081: 2074: 2066: 2064: 2058: 2057: 2055: 2054: 2047: 2040: 2032: 2030: 2026: 2025: 2022: 2021: 2019: 2018: 2011: 2004: 1997: 1990: 1983: 1976: 1969: 1962: 1955: 1954: 1953: 1946: 1932: 1925: 1917: 1915: 1911: 1910: 1908: 1907: 1900: 1893: 1886: 1879: 1872: 1865: 1858: 1851: 1850: 1849: 1835: 1827: 1825: 1821: 1820: 1818: 1817: 1810: 1803: 1795: 1793: 1786: 1779: 1778: 1771: 1769: 1767: 1766: 1765: 1764: 1750: 1749: 1748: 1741: 1726: 1724: 1720: 1719: 1708: 1707: 1700: 1693: 1685: 1676: 1675: 1673: 1672: 1667: 1662: 1656: 1653: 1652: 1650: 1649: 1644: 1639: 1634: 1629: 1624: 1619: 1614: 1608: 1606: 1600: 1599: 1597: 1596: 1595: 1594: 1584: 1579: 1574: 1569: 1563: 1561: 1555: 1554: 1552: 1551: 1546: 1541: 1536: 1531: 1526: 1521: 1516: 1514:Almquist shell 1510: 1508: 1502: 1501: 1499: 1498: 1493: 1488: 1486:Embedded GLIBC 1483: 1478: 1472: 1470: 1464: 1463: 1461: 1460: 1455: 1449: 1447: 1441: 1440: 1438: 1437: 1435:Vendor lock-in 1432: 1427: 1422: 1417: 1412: 1407: 1402: 1397: 1392: 1387: 1386: 1385: 1380: 1369: 1367: 1360: 1359: 1357: 1356: 1351: 1350: 1349: 1339: 1334: 1329: 1324: 1319: 1314: 1309: 1304: 1299: 1297:Cross compiler 1294: 1289: 1284: 1279: 1273: 1271: 1267: 1266: 1259: 1258: 1251: 1244: 1236: 1230: 1229: 1222: 1221:External links 1219: 1216: 1215: 1193: 1171: 1107: 1024: 976: 921: 902: 894:Addison-Wesley 875: 848: 832:Letwin, Gordon 812:McDonald, Marc 804:Ballmer, Steve 787: 762: 736: 704: 688:"systemd-boot" 676: 650: 649: 647: 644: 641: 640: 586: 502: 475: 474: 472: 469: 468: 467: 462: 456: 449: 446: 419:Main article: 416: 413: 386: 383: 352:device drivers 323: 320: 222:(6 bytes), an 220:disk timestamp 216:disk signature 212:boot signature 177: 176: 149: 147: 140: 134: 131: 26: 9: 6: 4: 3: 2: 2594: 2583: 2580: 2579: 2577: 2561: 2557: 2554: 2550: 2547: 2543: 2540: 2536: 2533: 2529: 2526: 2522: 2519: 2515: 2512: 2508: 2505: 2501: 2500: 2498: 2494: 2487: 2483: 2480: 2476: 2473: 2469: 2466: 2462: 2461: 2459: 2455: 2448: 2444: 2441: 2437: 2434: 2430: 2425: 2421: 2418: 2414: 2413: 2411: 2407: 2406: 2404: 2402: 2398: 2387: 2383: 2380: 2376: 2373: 2369: 2368: 2366: 2362: 2353: 2349: 2348: 2346: 2342: 2339: 2335: 2332: 2328: 2325: 2321: 2320: 2318: 2314: 2311: 2307: 2300: 2296: 2293: 2289: 2286: 2282: 2281: 2279: 2277: 2273: 2266: 2262: 2259: 2255: 2252: 2248: 2247: 2245: 2241: 2230: 2226: 2223: 2219: 2216: 2212: 2209: 2205: 2202: 2198: 2195: 2191: 2188: 2184: 2181: 2177: 2174: 2170: 2167: 2163: 2160: 2156: 2153: 2149: 2146: 2142: 2139: 2135: 2132: 2128: 2125: 2124:BootX (Linux) 2121: 2118: 2117:BootX (Apple) 2114: 2111: 2107: 2104: 2100: 2097: 2093: 2092: 2090: 2086: 2079: 2075: 2072: 2068: 2067: 2065: 2063: 2059: 2052: 2048: 2045: 2041: 2038: 2034: 2033: 2031: 2027: 2016: 2012: 2009: 2005: 2002: 1998: 1995: 1991: 1988: 1984: 1981: 1977: 1974: 1970: 1967: 1963: 1960: 1956: 1951: 1947: 1944: 1940: 1939: 1937: 1933: 1930: 1926: 1923: 1919: 1918: 1916: 1912: 1905: 1901: 1898: 1894: 1891: 1887: 1884: 1880: 1877: 1873: 1870: 1866: 1863: 1859: 1856: 1855:Open Firmware 1852: 1847: 1843: 1842: 1840: 1836: 1833: 1829: 1828: 1826: 1822: 1815: 1811: 1808: 1804: 1801: 1797: 1796: 1794: 1790: 1787: 1785: 1780: 1775: 1762: 1758: 1757: 1755: 1751: 1746: 1742: 1739: 1735: 1734: 1732: 1728: 1727: 1725: 1721: 1717: 1713: 1706: 1701: 1699: 1694: 1692: 1687: 1686: 1683: 1671: 1668: 1666: 1663: 1661: 1658: 1657: 1654: 1648: 1645: 1643: 1640: 1638: 1637:Embedded Java 1635: 1633: 1630: 1628: 1625: 1623: 1620: 1618: 1615: 1613: 1610: 1609: 1607: 1605: 1601: 1593: 1590: 1589: 1588: 1585: 1583: 1580: 1578: 1575: 1573: 1570: 1568: 1565: 1564: 1562: 1560: 1556: 1550: 1549:Yocto Project 1547: 1545: 1542: 1540: 1537: 1535: 1532: 1530: 1527: 1525: 1522: 1520: 1517: 1515: 1512: 1511: 1509: 1507: 1503: 1497: 1494: 1492: 1489: 1487: 1484: 1482: 1479: 1477: 1474: 1473: 1471: 1469: 1465: 1459: 1456: 1454: 1451: 1450: 1448: 1446: 1442: 1436: 1433: 1431: 1428: 1426: 1423: 1421: 1418: 1416: 1413: 1411: 1408: 1406: 1403: 1401: 1398: 1396: 1393: 1391: 1388: 1384: 1381: 1379: 1376: 1375: 1374: 1371: 1370: 1368: 1365: 1361: 1355: 1352: 1348: 1345: 1344: 1343: 1340: 1338: 1335: 1333: 1330: 1328: 1325: 1323: 1320: 1318: 1315: 1313: 1310: 1308: 1305: 1303: 1300: 1298: 1295: 1293: 1290: 1288: 1285: 1283: 1280: 1278: 1275: 1274: 1272: 1270:General terms 1268: 1264: 1257: 1252: 1250: 1245: 1243: 1238: 1237: 1234: 1228: 1225: 1224: 1203: 1197: 1189: 1185: 1181: 1175: 1168: 1166: 1162: 1157: 1150: 1144: 1140: 1126: 1122: 1118: 1111: 1104: 1102: 1098: 1093: 1087: 1083: 1078: 1068: 1062: 1057: 1043: 1039: 1035: 1028: 1021: 1019: 1014: 1009: 995: 991: 987: 980: 964: 961: 956: 942: 938: 937: 932: 925: 919: 917: 915: 912: 910: 905: 899: 895: 891: 890:DOS Internals 884: 882: 880: 872: 867: 863: 859: 855: 851: 849:1-55615-049-0 845: 841: 837: 833: 829: 825: 821: 820:Paterson, Tim 817: 813: 809: 805: 801: 797: 791: 773: 766: 751: 747: 740: 734: 722: 718: 711: 709: 693: 689: 683: 681: 665: 661: 655: 651: 637: 625: 621: 617: 613: 604: 599: 596: 590: 583: 579: 575: 571: 567: 563: 559: 555: 551: 547: 543: 539: 535: 531: 527: 523: 519: 515: 509: 507: 498: 492: 486: 480: 476: 466: 463: 460: 457: 455: 452: 451: 445: 443: 438: 436: 432: 428: 422: 412: 408: 406: 402: 398: 394: 389: 382: 379: 377: 373: 369: 364: 359: 357: 356:Open Firmware 353: 349: 345: 341: 337: 333: 329: 319: 317: 313: 309: 305: 301: 296: 294: 290: 286: 282: 280: 275: 271: 265: 259: 255: 251: 247: 243: 240: 236: 231: 229: 225: 221: 218:(6 bytes), a 217: 213: 209: 205: 201: 197: 193: 189: 185: 173: 163: 159: 153: 150:This section 148: 139: 138: 130: 128: 124: 120: 116: 112: 108: 102: 98: 96: 92: 88: 84: 80: 76: 71: 69: 65: 61: 57: 53: 49: 40: 32: 19: 2582:Boot loaders 2457:ROM variants 2401:Network boot 2379:Raspberry Pi 2145:systemd-boot 1632:Embedded C++ 1534:OpenEmbedded 1445:Boot loaders 1366:and controls 1347:Raspberry Pi 1286: 1206:. Retrieved 1196: 1188:the original 1183: 1174: 1136: 1129:. Retrieved 1120: 1110: 1053: 1046:. Retrieved 1037: 1034:"Can't copy" 1027: 1005: 998:. Retrieved 989: 979: 952: 945:. Retrieved 934: 924: 889: 827: 790: 778:. Retrieved 765: 753:. Retrieved 749: 739: 725:. Retrieved 721:the original 697:27 September 695:. Retrieved 691: 669:27 September 667:. Retrieved 663: 654: 589: 562:side effects 548:support the 518:boot sectors 479: 439: 424: 409: 405:flash memory 390: 388: 380: 360: 325: 297: 283: 273: 232: 180: 167: 156:Please help 151: 103: 99: 95:block device 72: 68:boot manager 67: 55: 51: 47: 45: 2511:ROM hacking 2447:Wake-on-LAN 2110:BootManager 2062:Bootloaders 1647:MicroPython 1587:Windows IoT 1395:Crippleware 1312:Embedded OS 1208:20 November 1165:PC DOS 1097:PC DOS 936:PC Magazine 816:O'Rear, Bob 808:Gates, Bill 800:Allen, Paul 780:21 December 664:www.gnu.org 636:PC DOS 566:overlapping 526:PC DOS 239:superfloppy 192:fixed disks 127:entry point 123:boot sector 52:boot loader 18:Boot loader 2546:Instant-on 2532:Devicetree 2372:Bus Pirate 2276:Partitions 2044:Das U-Boot 1929:Award BIOS 1846:Video BIOS 1824:Interfaces 1627:Embedded C 1287:Bootloader 1204:. coreboot 1072:IBMBIO.COM 1067:IBMDOS.COM 1061:IBMBIO.COM 1018:DRBIOS.SYS 1013:IBMBIO.COM 913:) Errata: 646:References 632:IBMBIO.COM 628:IBMBIO.COM 608:IBMBIO.COM 603:IBMBIO.COM 584:scenarios. 582:chain load 578:multi-boot 491:IBMBIO.COM 372:memtest86+ 316:Das U-Boot 228:multi-boot 160:by adding 119:x86 series 54:or called 48:bootloader 2518:ROM image 2309:Utilities 2166:OpeniBoot 2008:Kickstart 2001:LinuxBoot 1994:Libreboot 1959:InsydeH2O 1950:AMI Aptio 1890:AlphaBIOS 1723:Processes 1524:Buildroot 1131:6 October 1048:9 October 1000:6 October 755:22 August 620:relocated 612:overwrite 368:safe mode 312:Libreboot 182:original 91:NOR flash 2576:Category 2560:EDL mode 2539:Fastboot 2504:Boot ROM 2364:Hardware 2352:Heimdall 2338:UEFITool 2324:flashrom 2316:Software 2194:SYSLINUX 2131:GNU GRUB 1987:Coreboot 1980:OpenBIOS 1784:firmware 1782:Booting 1712:Firmware 1481:dietlibc 1373:Firmware 1364:Firmware 1125:Archived 1101:BOOT.LST 1042:Archived 994:Archived 941:Archived 866:16581341 858:87-21452 727:29 March 574:backward 454:Firmware 448:See also 340:Syslinux 328:GNU GRUB 308:coreboot 170:May 2023 2496:Related 2433:NetBoot 2173:RedBoot 2152:loadlin 2103:Barebox 1943:AMIBIOS 1922:SeaBIOS 1761:Android 1731:Windows 1716:booting 1642:MISRA C 1529:BusyBox 1519:BitBake 1458:Barebox 947:26 July 570:folding 336:BOOTMGR 202:of the 64:booting 58:, is a 2486:EEPROM 2386:ft2232 2299:/boot/ 2215:Yaboot 2180:rEFInd 1592:Win CE 1544:Toybox 1476:uClibc 1453:U-Boot 1202:"Tint" 1161:MS-DOS 1149:FORMAT 1139:DR-DOS 1103:file. 1086:MS-DOS 1082:LOADER 1056:DR-DOS 1008:DR-DOS 900:  864:  856:  846:  595:DR-DOS 558:opcode 546:LOADER 522:MS-DOS 431:server 332:rEFInd 314:, and 235:floppy 113:or an 111:IBM PC 109:of an 87:EEPROM 2479:EPROM 2331:fwupd 2187:rEFIt 2159:NTLDR 2138:iBoot 1792:Types 1754:Linux 1143:FDISK 775:(PDF) 616:stack 542:FAT32 471:Notes 461:(IPL) 399:or a 391:Many 348:iBoot 344:NTLDR 258:FAT32 254:FAT16 250:FAT12 200:bytes 2472:PROM 2424:iPXE 2417:gPXE 2345:Odin 2229:MILO 2208:xOSL 2051:ARCS 1862:ACPI 1839:BIOS 1832:UEFI 1714:and 1622:CAPL 1496:musl 1491:lwIP 1430:UEFI 1322:FPGA 1277:ASIC 1210:2010 1137:the 1133:2017 1077:COPY 1054:The 1050:2017 1006:The 1002:2017 949:2019 898:ISBN 862:OCLC 854:LCCN 844:ISBN 782:2017 757:2012 729:2009 699:2021 671:2021 618:and 614:the 598:VBRs 580:and 550:7.07 544:and 534:7.05 516:and 514:MBRs 483:The 304:UEFI 300:BIOS 289:UEFI 287:and 285:BIOS 252:and 237:and 194:and 188:8086 184:8088 107:BIOS 2465:ROM 1904:SFI 1897:SRM 1876:APM 1612:Ada 1354:SoC 1327:IoT 1156:SYS 1153:or 1092:SYS 972:SYS 968:SYS 955:SYS 538:LBA 497:SYS 346:or 279:CHS 274:two 270:LBA 264:SYS 248:on 233:In 2578:: 1745:NT 1738:9x 1182:. 1151:/S 1135:. 1123:. 1119:. 1052:. 1040:. 1036:. 1004:. 992:. 988:. 951:. 933:. 896:. 878:^ 860:. 852:. 842:. 834:; 802:; 798:; 748:. 707:^ 690:. 679:^ 662:. 556:, 540:, 505:^ 342:, 338:, 334:, 330:, 318:. 310:, 306:, 302:, 89:, 70:. 46:A 1704:e 1697:t 1690:v 1255:e 1248:t 1241:v 1212:. 1163:/ 1016:( 906:. 873:) 868:. 784:. 759:. 731:. 701:. 673:. 524:/ 186:/ 172:) 168:( 164:. 154:. 20:)

Index

Boot loader


computer program
booting
non-volatile memory
random-access memory
read-only memory
EEPROM
NOR flash
block device
BIOS
IBM PC
IBM PC compatible
x86 series
boot sector
entry point
improve this section
sources that evaluate within a broader context
8088
8086
fixed disks
removable drives
bytes
master boot record
partition table
boot signature
disk signature
disk timestamp
Advanced Active Partition

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑