当前位置: 首页 > article >正文

Win11与双Ubuntu系统共存指南:安装、卸载与引导修复全解析

1. 写在前面为什么你需要这份“三系统”指南你好我是老张一个在AI和智能硬件领域折腾了十多年的老码农。这些年我自己的主力开发机一直都是“Windows 多版本Linux”的混合环境。为什么这么干很简单工作需要。Windows 11的日常办公和娱乐体验没得说而Ubuntu 18.04和20.04一个是很多老牌企业级软件和机器人开发框架比如ROS1的“钉子户”另一个则是拥有更完善硬件支持和更新的工具链是很多新项目的起点。让它们在一台机器上和平共处能让我无缝切换开发环境效率直接拉满。我知道一提到多系统安装很多朋友就开始头疼分区会不会把数据搞没了引导GRUB坏了怎么办装完一个再装另一个会不会冲突网上的教程要么太老要么只讲双系统对于想装两个不同版本Ubuntu的朋友来说信息很零碎。我自己在给新工作站部署“Win11 Ubuntu 18.04 Ubuntu 20.04”这个黄金组合时也踩过不少坑比如引导丢失、分区表混乱最惨的一次差点把Windows的恢复分区给格了。所以我决定把这次完整的部署、维护经验包括安装时的“神操作”、卸载某个Ubuntu后的“救砖指南”全部整理出来。这份指南的目标是让你像搭积木一样安全、清晰地在Win11上部署双Ubuntu并且能随时对其中一个进行卸载或重装而不影响其他系统。整个过程我会尽量用大白话解释原理并提供每一步可复现的操作命令。你不需要是Linux高手只要跟着步骤来就能搞定。2. 战前准备理清思路与必备工具在动手分区和安装之前我们必须把核心概念和工具准备好。这就像打仗前的侦察和粮草准备能避免你陷入混乱。2.1 核心概念EFI分区与GRUB引导器现代电脑尤其是预装Win8/10/11的基本都采用UEFI启动模式和GPT磁盘分区表。这和传统的BIOSMBR模式完全不同理解这一点是关键。EFI系统分区ESP你可以把它想象成电脑的“启动菜单目录”。这个分区通常不大100MB到500MB格式是FAT32。Windows的启动文件、Ubuntu的GRUB引导器核心文件都放在这个分区里。一个硬盘只需要一个EFI分区。多系统共存时它们可以也推荐共享同一个EFI分区这样管理起来最方便。原始文章里也提到了安装时可以选择使用Windows已有的EFI分区这是完全正确且推荐的做法。GRUB这是Ubuntu和大多数Linux使用的引导管理器。它的作用就是在你开机时弹出一个菜单让你选择要启动哪个系统Windows Boot Manager 或 某个Ubuntu。当你安装第一个Ubuntu时GRUB会被写入EFI分区并设置为默认启动项。安装第二个Ubuntu时它的安装程序通常会智能地更新已有的GRUB菜单把新系统加进去而不是覆盖。生活化比喻你的硬盘就像一栋大楼C盘、D盘等是房间EFI分区是这栋楼一楼的总服务台和楼层索引。GRUB就是站在服务台的那个引导员。你每次开机引导员GRUB就会根据索引EFI分区里的文件问你“先生/女士您今天要去Windows套房还是Ubuntu 18.04工作室还是Ubuntu 20.04实验室”2.2 你需要准备的“武器”一个至少16GB的U盘用于制作Ubuntu安装盘。Ubuntu 18.04 LTS 和 Ubuntu 20.04 LTS 的ISO镜像文件务必从官网下载确保文件完整。LTS版本意味着长期支持更稳定。烧录工具Rufus在Windows下制作启动盘我首推它。相比其他工具Rufus对UEFI模式的支持和兼容性最好而且能自动处理一些坑。备份备份备份这是最重要的“工具”。请确保你Windows系统里所有重要数据都已经备份到移动硬盘或云盘。分区操作有理论上的风险虽然跟着指南走很安全但备份是工程师的好习惯。磁盘管理工具可选但推荐Windows自带的“磁盘管理”就够用。如果你想更直观地查看分区可以使用像DiskGenius这样的第三方工具它在后续的卸载清理环节会非常有用。我的踩坑经验曾经有一次我用了一个陈年的8GB U盘烧录镜像时没校验结果安装到一半报错排查了半天才发现是U盘有坏块导致镜像损坏。所以工具要可靠镜像要校验。3. 第一步在Win11上安装第一个Ubuntu以20.04为例这是构建“三系统”大厦的第一块基石。这一步走稳了后面就轻松了。3.1 为Ubuntu腾出“地盘”分区首先我们需要从Windows的磁盘空间中划出一部分给Ubuntu。千万不要在安装Ubuntu时直接用安装程序去调整Windows分区极易出错正确的做法是在Windows里预先准备好。在Windows搜索框输入“磁盘管理”打开“创建并格式化硬盘分区”。找到你的系统盘通常是C盘所在的磁盘找一个有足够空闲空间的卷比如D盘前提是D盘空间充足。右键点击它选择“压缩卷”。输入要压缩的空间量。对于Ubuntu系统我建议至少分配80GB。如果你要做深度学习或大型开发建议150GB以上。计算一下80GB 80 * 1024 81920 MB。把这个数字填进去。点击“压缩”后你会看到多出一块黑色的“未分配”空间。这块空间就是我们为Ubuntu准备的现在不要在这里新建卷保持未分配状态即可。3.2 制作启动U盘并安装插入U盘打开Rufus。设备选择你的U盘引导类型选择下载好的Ubuntu 20.04 ISO文件。分区类型保持“GPT”目标系统类型“UEFI”。其他选项默认点击“开始”。重启电脑狂按你的品牌机进入启动菜单的键联想一般是F12华硕是ESC戴尔是F12惠普是F9。从U盘启动。进入Ubuntu安装界面选择语言点击“安装Ubuntu”。在“安装类型”这一步至关重要选择“其他选项”或“其他”。这样我们可以手动分区拥有完全控制权。你会看到磁盘分区列表找到我们之前准备的那块“空闲”空间。选中它点击下面的“”号来创建分区。EFI系统分区这是第一个要创建的。大小设为512MB或更大但没必要。类型选择“EFI系统分区”。关键点来了在“用于”这一栏不要选“/boot”就保持默认或选“EFI系统分区”。最重要的是在下方“安装启动引导器的设备”下拉菜单中选择你硬盘上已有的那个EFI分区通常显示为/dev/nvme0n1p1或/dev/sda1大小约100MB。这意味着两个系统共享引导区。交换空间swap原始文章提到可以不设这取决于你的内存大小。如果你内存小于16GB建议设置。大小一般为物理内存的1-2倍。例如16GB内存可以设16-32GB。类型选“交换空间”。根分区/这是系统主分区。使用剩下的所有空间。挂载点选择“/”。文件系统用“Ext4”。这是最简洁的方案如原始文章所说对新手友好。分区完成后仔细检查“安装启动引导器的设备”是否指向了Windows的EFI分区然后点击“现在安装”。后续设置用户名密码等按提示完成。安装后首次重启你会看到GRUB菜单列出了Ubuntu和Windows Boot Manager。选择进入Windows确认Windows能正常启动。再重启选择Ubuntu确认Ubuntu也能正常启动。至此双系统搭建成功。4. 第二步安装第二个Ubuntu18.04现在我们已经在“Win11 Ubuntu 20.04”的基础上添加Ubuntu 18.04。流程和第一步高度相似但有几个细节决定了成败。4.1 再次分配空间重复3.1的步骤在Windows磁盘管理中再从某个卷或利用之前剩余的空间压缩出一块新的“未分配”空间建议同样不少于80GB。4.2 重复安装但注意关键选择用Ubuntu 18.04的ISO制作新的启动U盘从U盘启动。同样进入“其他选项”进行手动分区。选中新划出来的“空闲”空间创建分区。EFI系统分区这里有个重要技巧你不需要再创建新的EFI分区。直接点击“空闲”空间点“”创建一个大小约1MB最小即可类型为“保留BIOS启动区域”的分区。这个操作是为了“占位”防止安装程序自动使用整个空闲空间。然后最关键的一步在“安装启动引导器的设备”下拉菜单中再次选择那个和Windows、第一个Ubuntu共享的同一个EFI分区。这样Ubuntu 18.04的引导信息会添加到已有的GRUB配置中而不是另起炉灶。交换空间swap这里可以共享如果你在安装20.04时创建了swap分区在这里你不需要再新建。安装程序通常能自动识别并使用已有的swap分区。两个Ubuntu可以共用同一个swap空间不会冲突。根分区/使用所有剩余空间挂载点“/”文件系统“Ext4”。继续安装。安装程序会检测到已经存在Ubuntu系统它会更新GRUB而不会覆盖。安装完成后的惊喜重启后你会看到GRUB菜单变得丰富了。正如原始文章里描述的你可能会发现新安装的Ubuntu 18.04条目可能没有版本号而之前安装的20.04显示了版本号。这很正常是GRUB识别系统的方式不同不影响使用。菜单里现在应该有UbuntuUbuntu高级选项Windows Boot Manager可能还有两个Ubuntu的恢复模式选项。5. 如何安全卸载其中一个Ubuntu系统假设你现在不需要Ubuntu 18.04了想把它清理掉只保留Win11和Ubuntu 20.04。直接删除分区是灾难的开始因为GRUB引导信息还指向它会导致系统无法启动。我们必须分两步走先清理分区再修复引导。5.1 第一步在Windows下删除Ubuntu分区这是物理删除数据。我强烈推荐使用DiskGenius在PE系统或直接Windows下运行因为它比Windows磁盘管理更直观能清楚显示Ext4分区。打开DiskGenius找到属于Ubuntu 18.04的分区主要是它的根分区/可能还有你单独为它创建的/home分区。务必确认无误可以结合分区大小和文件系统类型Ext4/Linux Swap来判断。右键点击这些分区选择“删除当前分区”。删除后这些空间会变成“空闲空间”。可选但推荐你可以将这些空闲空间合并然后右键点击相邻的Windows分区比如D盘选择“扩容分区”将这块空间合并回Windows。或者在磁盘管理中将其新建为一个NTFS分区。注意千万不要动那个几百兆的EFI分区也不要动另一个Ubuntu的分区和共用的swap分区如果你确认要继续使用的话。5.2 第二步修复GRUB引导核心步骤删除分区后重启你会直接进入一个黑底白字的grub命令行界面或者报错。别慌我们的Windows和另一个Ubuntu都完好无损只是“引导员”GRUB找不到被删除的“房间”了懵了。我们需要用一张“急救盘”来修复这个引导员。使用之前制作的Ubuntu 20.04安装U盘因为我们要修复到能进入剩下的这个Ubuntu。插入U盘重启从U盘启动选择“试用Ubuntu”Try Ubuntu。进入Live桌面后打开一个终端CtrlAltT。我们需要挂载剩下的那个Ubuntu系统分区和EFI分区。首先用sudo fdisk -l或lsblk命令查看磁盘分区情况。找到你的系统盘比如/dev/nvme0n1并识别出剩下的Ubuntu的根分区例如/dev/nvme0n1p8类型Linux文件系统Ext4。EFI分区例如/dev/nvme0n1p1类型EFI System文件系统FAT32。执行以下命令挂载请替换为你自己的分区号sudo mount /dev/nvme0n1p8 /mnt sudo mount /dev/nvme0n1p1 /mnt/boot/efi对于UEFI系统我们还需要绑定几个虚拟文件系统sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo mount --bind /run /mnt/run使用chroot切换到我们硬盘上的系统环境sudo chroot /mnt现在我们就在“幸存”的Ubuntu系统里了。重新安装并配置GRUBapt update apt install --reinstall grub-efi-amd64 grub-install /dev/nvme0n1 # 注意这里是磁盘设备如nvme0n1不是分区 update-grub这个update-grub命令会扫描所有磁盘发现Windows和当前这个Ubuntu并自动生成新的引导菜单。它会发现那个被删除的Ubuntu已经不见了。执行完成后输入exit退出chroot环境然后重启电脑exit sudo reboot重启时记得拔掉U盘。现在你应该能看到干净的GRUB菜单只有Windows和剩下的那个Ubuntu了系统可以正常启动。6. 常见问题与进阶技巧6.1 安装后无法进入Windows如果在GRUB菜单里找不到Windows选项或者在Ubuntu里执行sudo update-grub后依然没有可以尝试在Ubuntu终端里sudo os-prober sudo update-grubos-prober这个工具专门用来探测其他操作系统。如果还不行检查Windows的EFI分区是否正常挂载或者尝试在Windows中禁用再启用快速启动。6.2 如何调整GRUB默认启动项和等待时间进入你想要设为默认的系统比如Ubuntu 20.04编辑GRUB配置文件sudo nano /etc/default/grub找到这两行进行修改GRUB_DEFAULT0 # 0表示默认启动第一个菜单项可以改成saved然后用grub-set-default命令设置 GRUB_TIMEOUT10 # 菜单等待时间单位秒设为-1则一直等待修改后一定要运行sudo update-grub使更改生效。6.3 想彻底清理所有Linux回归纯Windows如果你想卸载所有Ubuntu步骤类似第5章但更彻底在Windows下用DiskGenius删除所有Linux相关分区Ext4, Swap。使用Windows安装U盘或PE工具打开命令行管理员执行以下命令修复Windows引导并覆盖GRUBbootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd或者使用更简单的图形化工具如EasyUEFI在Windows下直接删除Ubuntu的引导项并将Windows Boot Manager设为第一启动项。最后在磁盘管理里将删除Linux后留下的未分配空间合并或新建分区。折腾多系统就像打理一个多功能的工具箱一开始布置需要花点心思但一旦配置妥当它能给你带来巨大的便利。我自己的这台机器已经稳定运行“Win11 双Ubuntu”超过一年了期间根据项目需要重装过某个Ubuntu好几次靠着这套“分区隔离、引导共享、修复有方”的方法从来没翻过车。记住胆大心细做好备份遇到问题别怕GRUB救不了的情况还有Live USB呢。希望这份超详细的指南能帮你搭建起属于自己的高效开发环境。如果在操作中遇到什么奇怪的问题不妨多看看系统给出的错误信息那往往是解决问题的钥匙。

相关文章:

Win11与双Ubuntu系统共存指南:安装、卸载与引导修复全解析

1. 写在前面:为什么你需要这份“三系统”指南? 你好,我是老张,一个在AI和智能硬件领域折腾了十多年的老码农。这些年,我自己的主力开发机一直都是“Windows 多版本Linux”的混合环境。为什么这么干?很简单…...

ESP32开发:Ubuntu22.04下ESP-IDF环境一键配置与避坑指南

1. 为什么选择Ubuntu 22.04与ESP-IDF? 如果你刚拿到一块ESP32开发板,摩拳擦掌想搞点物联网项目,第一道坎往往就是搭建开发环境。我见过太多朋友,包括我自己,在环境配置这一步就被劝退了,不是下载慢如蜗牛&a…...

利用Matlab实现脉冲多普勒雷达信号处理全流程仿真

1. 从零开始:搭建你的第一个脉冲多普勒雷达仿真框架 大家好,我是老张,一个在雷达信号处理领域摸爬滚打了十多年的工程师。今天想和大家聊聊,怎么用我们熟悉的Matlab,从零开始搭建一个脉冲多普勒雷达的仿真系统。这听起…...

【ZYNQ Linux实战】Petalinux构建u-boot时Task失败:从‘exit code 1’到编译环境深度排查

1. 问题来了:那个令人头疼的“exit code 1” 大家好,我是老李,在嵌入式Linux和ZYNQ这块摸爬滚打十来年了。今天想跟大家聊聊一个几乎所有玩Petalinux的朋友都可能会踩的坑:辛辛苦苦配好了环境,准备构建u-boot&#xff…...

STM32标准库实战:霍尔编码器测速与电机控制

1. 从零开始:霍尔编码器与STM32的初次握手 大家好,我是老张,在嵌入式这行摸爬滚打十几年了,玩过的电机和编码器能堆满半个仓库。今天咱们不聊那些虚头巴脑的理论,就手把手地带你用STM32的标准库,搞定霍尔编…...

【华大HC32L110】低功耗实战:从外设管理到睡眠唤醒的完整避坑指南

1. 功耗分析:你的电池都“吃”在了哪里? 做低功耗项目,尤其是像物联网传感节点这种靠电池“续命”的设备,第一步千万别急着写代码。我见过太多工程师一上来就琢磨怎么进睡眠模式,结果折腾半天,功耗还是下不…...

Ubuntu20.04 部署 Isaac Gym:解锁 GPU 加速的机器人仿真新体验

1. 环境准备:为你的GPU仿真铺平道路 如果你和我一样,是个喜欢折腾机器人仿真的开发者,那你肯定对漫长的物理仿真等待时间深恶痛绝。传统的CPU仿真,动辄几小时甚至几天,迭代一个想法简直是对耐心的终极考验。直到我遇到…...

从SOCA-CFAR到改进算法:如何破解雷达多目标与大目标检测的掩蔽难题

1. 雷达目标检测的“老大难”:掩蔽效应到底是什么? 大家好,我是老张,在雷达信号处理这个行当里摸爬滚打了十几年。今天想和大家聊聊一个让无数工程师头疼,但又绕不开的经典难题——雷达目标检测中的“掩蔽效应”。这玩…...

视频目标检测(Video Object Detection)关键技术解析与应用场景探讨

1. 视频目标检测:从“看照片”到“看电影”的跨越 如果你玩过手机相册的“人物”识别功能,或者用过一些能自动给视频打标签的软件,那你已经接触过目标检测技术了。简单来说,目标检测就是让计算机在一张图片里,不仅认出…...

基于TDR与NE555的同轴线缆参数测量系统设计

1. 项目概述2023年全国大学生电子设计竞赛B题《同轴线缆长度与终端负载检测装置》是一道典型的高频信号完整性与精密时间测量综合应用题目。其核心任务是在单端口条件下,不依赖矢量网络分析仪等专业设备,仅通过嵌入式系统完成三项关键参数的高精度测量&a…...

告别重复劳动:用快马平台将Axure设计稿秒变可交互代码原型

最近在做一个新产品的概念验证,需要快速把Axure里的设计稿变成一个能实际点击、交互的网页原型。团队的设计师用Axure画好了界面和交互逻辑,但如果要前端同学从头手写代码,沟通和开发周期都不短。正好尝试了一下用InsCode(快马)平台&#xff…...

衡山派Baremetal与RTOS双平台MTD驱动设计说明:SPI NOR存储管理与SFUD集成

衡山派Baremetal与RTOS双平台MTD驱动设计说明:SPI NOR存储管理与SFUD集成 最近在衡山派平台上做项目,经常需要存储一些配置参数和日志数据,SPI NOR Flash是个不错的选择。但很多刚接触的朋友会问:在裸机(Baremetal&…...

Z-Image-Turbo-辉夜巫女生产环境:多用户Gradio前端+Xinference后端协同部署方案

Z-Image-Turbo-辉夜巫女生产环境:多用户Gradio前端Xinference后端协同部署方案 1. 引言:从单机玩具到生产级服务的跨越 如果你玩过AI绘画,大概率体验过那种“一人独享”的本地部署——打开WebUI,输入提示词,等待生成…...

3步解锁音乐自由:让加密音频重获新生的开源解决方案

3步解锁音乐自由:让加密音频重获新生的开源解决方案 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 在数字音…...

智能车竞赛实战指南:基于快马平台构建完整车辆控制应用

最近在准备智能车竞赛,发现很多同学在软件部分会遇到一个难题:如何快速搭建一个接近实战、能模拟真实车辆行为的综合控制程序?硬件调试固然重要,但一个稳定、逻辑清晰的软件框架是成功的基础。今天,我就结合自己的经验…...

雪花氛围灯:基于RH6618A的极简触控调光硬件设计

1. 项目概述雪花氛围灯是一款面向电子爱好者与嵌入式初学者设计的便携式装饰照明装置,其核心目标是通过极简硬件架构实现高感知价值的人机交互体验:在无外部供电条件下,仅凭指尖轻触即可完成开关控制与无级亮度调节,并支持个性化灯…...

Qwen3.5-27B开源多模态模型部署案例:中文Web对话+图片理解双接口落地

Qwen3.5-27B开源多模态模型部署案例:中文Web对话图片理解双接口落地 1. 引言:一个模型,两种能力 想象一下,你有一个智能助手,不仅能和你流畅地中文聊天,还能看懂你发过去的图片,告诉你图片里有…...

PCL2-CE社区版启动器:让Minecraft游戏体验不再受限于传统启动工具

PCL2-CE社区版启动器:让Minecraft游戏体验不再受限于传统启动工具 【免费下载链接】PCL-CE PCL2 社区版,可体验上游暂未合并的功能 项目地址: https://gitcode.com/gh_mirrors/pc/PCL-CE PCL2-CE社区版启动器是一款开源的Minecraft启动工具&#…...

Python flask 家乡周边旅游项目预约系统 微信小程序

目录技术栈选择数据库设计后端API开发微信小程序前端地图功能集成支付功能实现部署方案项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 后端采用Python Flask框架,提供RESTful …...

AI辅助开发:让Kimi分析激活函数优劣,自动生成集成Swish等新函数的GRU情感分析模型

最近在做一个文本情感分析的项目,打算用循环神经网络(RNN)来做。大家都知道,像LSTM、GRU这类经典循环单元,内部隐藏状态的变换通常都默认使用Tanh激活函数。但我在想,现在有那么多新的、表现更好的激活函数…...

VisionPro中CogPMAlignTool图像匹配工具的高级应用与实战技巧

1. 从新手到高手:理解CogPMAlignTool的核心价值 如果你正在用康耐视的VisionPro做视觉项目,尤其是涉及到定位、对位或者识别,那你肯定绕不开CogPMAlignTool这个工具。很多新手朋友第一次用的时候,可能会觉得它就是个“找图”的工具…...

C# WinForm —— 高效Form初始化与动态布局实战

1. 从“慢吞吞”到“秒开”:Form初始化的那些事儿 不知道你有没有遇到过这种情况:打开一个WinForm程序,界面要“卡”一下才出来,或者点击按钮后,界面反应慢半拍。很多时候,这锅得甩给Form初始化没做好。我刚…...

Phi-3-mini-128k-instruct部署避坑指南:vLLM加载失败、Chainlit连接超时解决方案

Phi-3-mini-128k-instruct部署避坑指南:vLLM加载失败、Chainlit连接超时解决方案 你是不是也遇到过这种情况:兴致勃勃地部署一个最新的AI模型,结果卡在模型加载或者前端连接上,折腾半天也没搞定?今天咱们就来聊聊Phi-…...

基于ColorEasyDuino的GP2Y1014AU粉尘传感器数据采集与浓度计算实战

基于ColorEasyDuino的GP2Y1014AU粉尘传感器数据采集与浓度计算实战 最近在做一个室内空气质量监测的小项目,需要检测空气中的粉尘浓度,于是就用上了夏普的GP2Y1014AU粉尘传感器。这个传感器在创客圈里挺有名的,价格不贵,效果也不错…...

从模型到极限:深入解析信道容量与香农公式

1. 信道:信息的高速公路,但路况复杂 聊到通信,大家脑子里蹦出来的第一个画面,可能就是手机信号、Wi-Fi图标。但信号是怎么从你的手机跑到基站,再跑到朋友手机里的呢?这中间走过的“路”,就是我们…...

从零搭建局域网:eNSP模拟实验全流程解析

1. 为什么你需要一台“虚拟”交换机?从零认识eNSP 如果你对网络技术感兴趣,或者正在学习计算机网络课程,那么“动手实验”绝对是绕不开的一环。但现实是,我们很难在宿舍或家里摆满真实的交换机、路由器,更别说为了一个…...

Vue2与WebSocket实战:构建高效实时聊天室的全流程解析

1. 为什么需要WebSocket?从“轮询”到“长连接”的进化 想象一下,你正在和一个朋友用微信聊天。如果微信用的是传统的HTTP协议,那会是什么场景?你发一句“在吗?”,然后你的手机就得不停地、每隔一秒就问一次…...

解决AndroidX依赖冲突:appcompat-resources版本与compileSdkVersion不兼容问题

1. 从一次真实的构建失败说起 那天下午,我正在给一个老项目添加一个新功能,像往常一样点击了Android Studio那个绿色的“运行”按钮,满心期待地等着应用在模拟器上启动。结果,等来的不是熟悉的启动画面,而是一大段刺眼…...

VLSI设计基石——CMOS反相器的性能建模与优化

1. 从开关到基石:为什么CMOS反相器如此重要? 如果你刚开始接触芯片设计,可能会觉得“CMOS反相器”这个名字听起来既陌生又复杂。别担心,让我用一个简单的比喻来开场。你可以把整个复杂的数字芯片想象成一座宏伟的乐高城堡&#xf…...

AE Shutter Gain Check 笔记

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera Sensor 驱动shutter Check二、Exposure Time 转换为 shutter三、Camera Sensor 驱动GAIN Check 一、驱动 shutter Check 1.1 SENSOR_FEATURE_SET_ESHUTTER 每个AE 周期会根…...