You now know the physical and logical structure of a Linux system, what the kernel is, and how to work with processes. This chapter will teach you how the kernel starts— or boots. In other words, you’ll learn how the kernel moves into memory up to the point where the first user process starts.
最近在写一个 linux内核启动流程分析 的系列文章,主要是想从源码角度,非常细致的给大家讲下linux内核是如何启动的。
Linux著名的GRUB已立n代,2.0以后已经是最受欢迎的bootloader,很多Linux发行版都用它作为缺省的bootloader。GRUB2功能强大,全面支持UEFI启动,甚至是安全启动,实在是行走江湖、杀人越货的必备武器。但于此同时,强大的功能让它越发臃肿,为Linux快速启动带来了负面影响。
上一篇文章 linux内核启动流程分析 - efi_stub_entry 中,为了叙述方便,我们只是粗略的讲了下efi_main函数,这里我们再具体看下。
几十年来,个人电脑一直受到病毒、蠕虫和其他恶意软件的困扰。最早的一些个人电脑病毒是以引导扇区病毒的形式传播的:它们以代码形式存在于软盘的引导扇区中,当用户使用受感染的 DOS 软盘启动计算机时,病毒就会从一台计算机传播到另一台计算机。虽然随着软盘的淘汰和互联网连接的普及,其他病毒传播方式也逐渐受到重视,但预启动的恶意软件对系统安全仍造成巨大威胁。通过在操作系统内核获得计算机控制权之前执行,恶意软件可以 "隐藏 "起来,从而使病毒扫描程序几乎无法检测到恶意软件。
今日,网络安全研究人员披露了一个新的高风险漏洞的详细信息。该漏洞影响了全球数十亿设备,几乎波及所有正在运行Linux发行版或Windows系统的服务器、工作站,笔记本电脑,台式机及IoT系统。
网上类似标题的文章很多,但大都是从start_kernel讲起,我觉得这是远远不够的。
Basic Input Output System的缩写,翻译过来就是“基本输入输出系统”,是一种业界标准的固件接口,第一次出现在1975年,是计算机启动时加载的第一个程序,主要功能是检测和设置计算机硬件,引导系统启动。
但是有时候,驱动不够新,比如14.04用的是340.98版本,如果手动安装驱动可以参考官网指南。
一、自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万)。 我觉得,这个呼吁很重要。如果我们不支持,未来就无法自由地使用硬件、安装自己想要的软件。 这绝非危言耸听。而且,由于这个事件直接与Windows 8操作系统有关,因此意味着一切已经迫在眉睫了。 下面,我根据自己的理解,谈谈这到底怎么回事。如果你是一个Linux爱好者,或者喜欢自己安装操作系统,下面的内容与你直接相关。 二、BIOS和U
我并不喜欢水文章,但我会记录下一些让我大费周章折腾并最终取得成功的东西,比如说这次,不过事先说明,我的经历可能并不适用于所有情况,所以文章内容仅供参考,顺带说句,这篇文章很多图,实测加载完成整篇文章需要381MB的流量
作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器。一凡研究后我看上了 volumio(https://volumio.org/) 这是一个基于 Debian 二次开发的 HIFI 播放器系统,可以运行下 x86 和树莓派上。 我打算让 volumio 运行在我 2009 年购买的老爷机笔记本上,也让它发挥一点余温热。正常操作是将 volumio 的系统镜像刷到 U 盘上,连接电脑后使用 U 盘启动系统即可。但是家
Linux操作系统为许许多多用户安装和使用,难免会遇到一些问题。正如2016年我们总结过5大Linux故障排除技巧一样,在即将过去的2017年里,我们依然搜集了用户在使用Linux系统时发现的问题,在此总结综述为”2017年五大Linux痛点”,直指用户使用的关键点,希望能对您有所帮助。
固件(firmware)是指设备最底层的,让设备得以运行的程序代码。简单理解就是:固定在硬件上的软件。计算机中的许多设备都拥有固件(如硬盘、鼠标、光驱、U盘等),在计算机启动过程中,最先读取的就是位于主板上的固件,这个固件当前有两种类型:传统的BIOS和新的通用性更强的UEFI。
由于RiscV和Rust都是比较新的两个东西,因此两个新的东西结合在一起就会发生很逆天的事情:Rust在Risc-V上不支持UEFI目标,同时Rust社区貌似没有什么issue讨论这个。
Platbox是一款功能强大的UEFI和SSM安全评估工具,该工具可以帮助广大研究人员以最快速的方式评估UEFI和SSM的安全态势。
本文作者 / 飞哥 专注于OpenStack计算、Python 热爱大海、雪山 导 言 UEFI正在逐渐取代传统的BIOS,在使用UEFI启动系统的过程中,有时会遇到系统无法启动的问题。如,制作好的centos虚拟机镜像与iso分离后竟无法启动?突然掉电导致引导文件丢失?怎样才能修复这些问题使得虚拟机能够正常工作?本篇描述了在openstack环境下一次引导文件丢失问题的修复过程。 一、问题描述 在一个openstack环境中,对几台虚拟机进行了resize操作,将内存有32G调整到了48G,磁盘
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的网络启动技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivialfile transfer protocol)或MTFTP(multicasttrivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
今天帮新同事安系统的时候发现主板用的是GPT引导,但是他硬盘只有1t,系统分区的时候发现不能创建系统分区原因是硬盘是MBR而系统盘只能新建在GPT所以这里记录下安装系统过程中分区时将系统 MBR 引导转为 GPT
描述:英特尔已经宣布计划在2020年之前将所有芯片组完全替换为UEFI,所以说BIOS即将迎来生命周期的最后一个周期;但是我们现在UEFI附带的新电脑仍将其称为“BIOS”,符合用户的叫法;
有些计算机网络需要在各个物理机器上维护相同的软件和配置。学校的计算机实验室就是这样的一个环境。 网络引导 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。本教程将向你展示构建一台网络引导服务器的一种方法。
Jetson生态系统中的最新生产版本——JetPack 5.1.2已正式发布,为Jetson AGX Orin工业模组和其他Jetson Xavier与Orin系列模组带来了一系列新功能和改进。此次发布进一步展现了NVIDIA为开发者和各行各业提供尖端技术的承诺。
网上安装双系统的教程不少,但多数教程所使用的硬件以现在的眼光看来显得有些过时;另外,其原有所使用的方法,对于新的硬件也不再合适。本教程写于2017年7月,希望能够给大家提供些许帮助,避免重走弯路。 目前安装双系统的主要基于两种构架:BIOS+MBR 和 UEFI+GPT,可以简单的理解为EFI是新一代的BIOS,GPT是新一代的分区方式。基本上目前市面上的新机器,都是以UEFI+GPT构架为主。需要注意的是,对于 UEFI固件,一般还是沿用之前的称呼:BIOS,在查询相关资料的时候需要注意,可能BIOS指的
终于来了!大家翘首以盼的JETPACK SDK 5.0发布了。 不过这次发的是JETPACK SDK 5.0 开发者预览版,NVIDIA已经特别强调: 不适用于生产用途! 不适用于生产用途! 不适用于生产用途! 已知问题记录在 Jetson Linux 发行说明中。请仔细阅读发行说明。 JetPack 5.0 Developer Preview 是一个开发版本,其中包含完整的计算堆栈更新,包括 CUDA 11.4,以及 Linux Kernel 5.10、基于 Ubuntu 20.04 的根文件系统、基于
在计算机领域,软件、硬件与固件是三个重要且密切相关的概念。尽管这三个术语常被提及,但它们的具体含义和相互关系可能并不为所有人所熟知。本文将深入探讨这三个概念,特别是固件,以及BIOS和UEFI在固件中的典型应用。
Charts 是为 iOS/tvOS/OSX 提供美观图表的开源项目,是跨平台 MPAndroidChart 在苹果设备上的实现。该项目提供了以下主要功能和优势:
描述:GRUB英文全称GRand Unified Bootloader俗称引导程序是硬盘中的软件,它可以启动用户在计算机中的多个操作系统所以也叫多重启动管理器。 目前主流版本是 GRUB2,在windows中也有类似的引导程序ntloader虽然它也可以引导Linux操作系统但是比较麻烦;
UEFI,“统一的可扩展固件接口”(Unified Extensible Firmware Interface),是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。
接上一篇文章 linux内核启动流程分析 - efistub的入口函数,我们继续看efi_pe_entry这个函数。
为了防御恶意软件攻击,目前市面上所有电脑设备启动时默认开启安全启动(Secure Boot)模式。安全启动(Secure Boot)是UEFI扩展协议定义的安全标准,可以确保设备只使用OEM厂商信任的软件启动。UEFI签名认证就是对运行在 UEFI 系统下的 efi 驱动和通过 UEFI 启动的 shim(垫片)进行测试审查后,获得微软 UEFI 签名。UEFI签名认证能够解决固件在启动时加载不了,无法正常工作等问题。
MBR的缺点主要在于他是个程序。引导程序和磁盘分区原本是不太相关的两个事情,但是MBR却用一种及其原始的方式把它们混合在了一起。此外,MBR程序本身也带来了不少麻烦。由于MBR运行在实模式,因此它的编写与引导过程的其它程序有诸多不同。而且由于MBR是直接写在引导扇区的,并不是以文件的形式存在,因此对MBR进行管理也十分麻烦。缺少程序校验也使黑客可以通过更改MBR,让病毒在操作系统引导前就完成载入。总而言之,MBR的设计真的太过时了。
这里统一采用efi引导,因此windows系统必须win7 64 或更新系统。 1、在别的电脑选择一个PE系统写入U盘,比如大白菜,真的大白菜。 2、PE系统中,将磁盘置为GPT格式(GUID) 3、PE系统,使用镜像加载工具加载win7 64 iso,点击setup.exe开始安装windows 7 系统。 选择磁盘构建,会自动生成efi分区,esp分区。(这是uefi引导的关键) 选择一个主分区进行安装。 4、下载Manjaro linux的iso。 5、安装win7完成后,使用工具Win32 Disk
这期笔记将是gentoo安装的最后一期了,虽然已经配置内核了,但是也要完成剩下的安装步骤,这离安装完成已经不远了,继续加油!!!
配置文件 :/boot/grub2/grub.cfg 修改:/etc/default/grub GRUB_DEFAULT=saved saved改为0 grub2-mkconfig -o /boot/grub2/grub.crg 重新生成
GRUB2(GRand Unified Bootloader 2)是现代计算机系统中广泛使用的引导加载器。它继承了GRUB的灵活性和强大功能,为用户提供了一个高度可配置和扩展的平台,用于引导多种操作系统。本文将深入探讨GRUB2的工作原理、配置方法以及常见应用场景,帮助读者更好地理解和使用GRUB2。
在UEFI方式下,使用网卡对高密度服务器上的OS进行升级时,设备设置里突然找不到网卡了怎么办?本文依托戴尔易安信PowerEdge C6420,以Linux操作系统为例,实际演示了遇到此种状况该如何解决,供相关人员参考。
计算机上电启动后需要最基础的硬件启动加载程序,早期的程序叫做 BIOS,新的叫 UEFI
选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。
最近在研究clover引导黑苹果时无意发现了一款能够在windows下编辑UEFI引导顺序的软件EasyUEFI。EasyUEFI除了能够修改UEFI引导顺序外,还能够创建或者编辑windows/Linux的UEFI引导信息。如果UEFI引导损坏,EasyUEFI还能够创建USB UEFI引导磁盘对计算机进行急救。
我们首先去Ubuntu的官网下载一个Ubuntu16.04的iso镜像文件。当然里面也有优麒麟,其实就是把Ubuntu16.04汉化了一下,个人推荐安装Ubuntu16.04 体验上可能好一些。
计算机启动分为内核加载前、加载时和加载后3个大阶段,这3个大阶段又可以分为很多小阶段,本文将非常细化分析每一个重要的小阶段。
1、制作U盘安装盘 问题:在Bios里有UEFI启动模式,这是微软针对市场的一种限制策略,幸好现在linux的发行版基本都支持UEFI了。我在尝试使用Universal-USB-Installe以及UltraISO均不能有效引导安装,使用UltraISO,甚至在bios里都看不到U盘;使用Universal-USB-Installe一直会提示Problem loading in-kernel x.509 certification,无法安装成功。 解决方法:使用Fedora官方
研究人员遇到了几个可疑的UEFI固件映像,经过进一步分析,能够确定它们是基于HackingTeam的VectorEDK引导程序泄漏的源代码。
Eclypsium是晋级2019年RSA创新沙盒决赛的公司之一。该公司专注于服务器、笔记本电脑和网络设备(交换机、路由器等)的固件层的检测和防护。至今为止,该公司已经完成A轮融资,累计融资1105万美元。公司成员中,Yuriy Bulygin曾在英特尔工作11年(高级工程师),在McAfee工作了两个月(CTO)。Alex Bazhaniuk和John Loucaides也来自英特尔,在此之前,这三位均负责英特尔的硬件、固件安全。Ron Talwalkar在McAfee工作了11年,作为终端安全业务部产品管理高级总监,负责英特尔安全相关的业务。所以,该公司熟知采用英特尔处理器的设备在硬件和固件上的安全现状。
访问下载页面,根据您想要的启动方式,获取 ISO 文件或网络启动映像,以及相应的GnuPG签名。
很多新型号的笔记本或台式机主板都开始支持UEFI模式,不过这种模式让很多打算给电脑换win7或win8的用户头疼不已,尤其是笔记本用户。比如,笔记本预装的是win8系统,用了一段时间后打算换成win7,可是在装系统的过程中会遇到类似这样的问题:无法进入U启,无法识别硬盘、系统无法正确引导……等问题。
Arch Linux是一个优秀的linux操作系统。其优点是滚动发行、软件包比较新,并且可以深度可定制。缺点是由于深度可定制,所以开始安装的时候只有命令行可用,对于linux新手来说会有一些难度。我也是练习安装了好多次,才逐渐从安装过程中学习到linux的组成部分并体会到Arch的优美之处的。
Linux操作系统的启动过程是一个复杂而精密的流程,涉及到多个阶段和组件。本文将对Linux启动流程进行深入探讨,并对比不同发行版之间的一些差异。我们将关注从Bootloader开始一直到用户空间初始化的整个过程。
领取专属 10元无门槛券
手把手带您无忧上云