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

如何使用两块硬盘作为 Ubuntu24 的系统盘,实现坏掉一块不影响系统运行。

最近我想使用Ubuntu组一个NAS系统,想实现系统盘冗余,各位大佬可以给点建议吗。

Deep Seek

为了实现两块硬盘作为 Ubuntu 24 系统盘的冗余配置(RAID 1),确保一块硬盘损坏时系统仍可运行,以下是详细步骤:


一、准备工作

  1. 备份数据
    所有硬盘数据将被清除,操作前请备份重要数据。

  2. 硬件要求

    • 两块相同或容量相近的硬盘(如 /dev/sda 和 /dev/sdb)。

    • Ubuntu 24 安装介质(U盘或光盘)。


二、安装 Ubuntu 24 并配置 RAID 1

  1. 启动安装介质
    插入 Ubuntu 安装 U 盘,重启电脑并从 U 盘启动。

  2. 进入手动分区模式

    • 在安装类型界面选择 "Custom storage layout"(自定义存储布局)。

  3. 为每块硬盘创建 RAID 分区

    • 分别对两块硬盘执行以下操作(以 /dev/sda 和 /dev/sdb 为例):

      1. 选择第一块硬盘(如 /dev/sda),点击 "Add GPT Partition"

      2. 创建分区:

        • EFI 系统分区(必需):

          • 大小:1GB

          • 类型:EFI System Partition

          • 挂载点:/boot/efi(后续需为每块硬盘单独创建)

        • RAID 分区(剩余空间):

          • 类型:Physical volume for RAID

      3. 重复以上步骤为第二块硬盘(如 /dev/sdb)创建相同分区。

  4. 配置软件 RAID 1

    • 点击 "Create software RAID",选择 RAID 类型为 RAID 1

    • 添加两块硬盘的 RAID 分区(如 /dev/sda2 和 /dev/sdb2)。

    • 为该 RAID 设备分配挂载点:

      • 根目录 /
        文件系统 ext4,挂载到 /

      • 交换分区(可选)
        可创建一个交换分区或使用 swap 文件。

  5. 配置 EFI 分区(关键步骤)

    • 由于 UEFI 不支持从 RAID 启动,需为每块硬盘单独创建 EFI 分区:

      1. 分别为 /dev/sda1 和 /dev/sdb1 设置挂载点为 /boot/efi

      2. 确保安装引导程序到 两块硬盘(后续步骤)。

  6. 安装引导加载程序

    • 在安装界面底部选择 "Advanced",将引导加载程序安装到 两块硬盘(如 /dev/sda 和 /dev/sdb)。

  7. 完成安装
    确认配置无误后,开始安装系统。


三、安装后验证与配置

  1. 检查 RAID 状态
    系统安装完成后,打开终端执行:

    cat /proc/mdstat

    输出应显示 RAID1 状态为 active,两块硬盘均为 U(正常)。

  2. 配置 RAID 监控与报警

    • 安装 mdadm 监控工具:

      sudo apt update && sudo apt install mdadm

    • 配置邮件通知(可选):

      sudo nano /etc/mdadm/mdadm.conf

      添加以下内容(替换为你的邮箱):

      MAILADDR your-email@example.com

  3. 测试冗余性(模拟故障)

    • 标记一块硬盘为故障(例如 /dev/sda):

      sudo mdadm --manage /dev/md0 --fail /dev/sda2

    • 移除故障硬盘:

      sudo mdadm --manage /dev/md0 --remove /dev/sda2

    • 重启系统,验证是否仍能正常启动。


四、更换故障硬盘

  1. 插入新硬盘
    物理替换损坏的硬盘(如 /dev/sda)。

  2. 将新硬盘加入 RAID
     

    sudo mdadm --manage /dev/md0 --add /dev/sda2

    RAID 将自动开始同步数据。

  3. 重新安装引导加载程序

    sudo grub-install /dev/sda
    sudo update-grub


五、注意事项

  1. 性能影响
    软 RAID 1 的写入速度略有下降,读取速度可能提升。

  2. 定期检查
    建议每月检查 RAID 状态:

    sudo mdadm --detail /dev/md0

  3. 备份 EFI 分区
    可手动备份 EFI 分区内容,防止引导损坏。


通过以上步骤,你的 Ubuntu 24 系统将在两块硬盘上实现冗余,单块硬盘故障时仍可正常运行。




 

ChatGPT
 

下面是在 Ubuntu 24.04 LTS 上使用 两块硬盘组成 RAID1 作为系统盘 的完整安装步骤,确保即使一块硬盘坏掉,系统仍可正常启动运行。


🧭 总体目标

使用 Ubuntu Server 24.04 安装器 配置两块硬盘为软件 RAID1,系统数据和引导记录都镜像保存,实现一块硬盘损坏系统照常运行。


📦 准备工作

项目内容
安装镜像Ubuntu Server 24.04 ISO(推荐使用 Server 版,支持手动分区和 RAID 配置)
U盘至少 4GB,用于制作启动盘(可使用 Rufus 或 balenaEtcher)
硬盘至少两块空白硬盘(大小一致或相近),如 /dev/sda/dev/sdb
启动方式建议使用 UEFI(BIOS 也可)


🧰 安装步骤(基于 Ubuntu Server 24.04 安装器)

🔥 第 1 步:进入安装器

  1. 用制作好的 U盘启动电脑,选择 Install Ubuntu Server

  2. 选择语言、键盘布局、网络等设置,进入 "Storage configuration" 阶段。


💽 第 2 步:配置 RAID1

✅ 选择「Custom storage layout」

进入「Storage configuration」界面:

  1. 选择「Custom storage layout

  2. 找到两块硬盘(如 /dev/sda/dev/sdb),不要使用自动分区。


🧱 第 3 步:为 RAID 创建分区

对两块硬盘 手动创建分区,用于 /boot/efi(UEFI 启动),/boot,和系统根目录 /

以每块硬盘为例:

💿 在 /dev/sda/dev/sdb 上分别创建:
分区大小用途类型
sda1/sdb1512MBEFI 系统分区(如果 UEFI 启动)EFI System Partition
sda2/sdb21GB/boot用于 RAID1
sda3/sdb3剩余所有空间/(系统根目录)用于 RAID1

创建分区时,在 "Use as" 项中选择 "RAID" 类型(不是格式化 ext4!


🔗 第 4 步:创建 RAID1 设备

  1. 在底部点击 "Create software RAID (md)"

  2. 创建两个 RAID1:

RAID1 - md0 用于 /boot
  • RAID Level: RAID1

  • Devices: /dev/sda2, /dev/sdb2

  • Number of devices: 2

  • Spare devices: 0

RAID1 - md1 用于 /(根目录)
  • RAID Level: RAID1

  • Devices: /dev/sda3, /dev/sdb3

  • Number of devices: 2

  • Spare devices: 0


📁 第 5 步:挂载 RAID 和设置格式

在分区列表中:

  1. 找到你刚刚创建的 /dev/md0/dev/md1

  2. 分别进行如下设置:

设备挂载点格式用途
/dev/md0/bootext4存放启动文件
/dev/md1/ext4根目录,主系统所在
/dev/sda1/dev/sdb1/boot/efiEFI System Partition若使用 UEFI

确保两个硬盘都创建了 EFI 分区,并都设置挂载到 /boot/efi(安装器允许这样做)。


🚀 第 6 步:完成安装

  1. 确认配置无误,点击继续安装。

  2. 选择安装 GRUB 到两块硬盘上(系统会自动检测到两个磁盘)。

  3. 安装 Ubuntu 系统。

  4. 安装完成后重启,不要忘记拔掉 U盘


🧪 第 7 步:验证 RAID 正常工作

进入系统后执行:

cat /proc/mdstat 

你应该看到:

md1 : active raid1 sda3[0] sdb3[1]blocks ... [2/2] [UU]md0 : active raid1 sda2[0] sdb2[1]blocks ... [2/2] [UU]

[UU] 表示两块硬盘都在正常同步工作。


🔧 第 8 步:测试单盘启动(可选)

你可以断开其中一块硬盘(如 sdb),再开机测试是否还能进入系统。若一切设置无误,系统应仍能正常启动运行。


📬 RAID 状态监控(可选)

安装 mdadm 工具以便后续维护:

sudo apt update
sudo apt install mdadm
sudo mdadm --detail /dev/md0
sudo mdadm --detail /dev/md1

✅ RAID 优势总结

优点描述
容错能力强一块硬盘损坏系统照常运行
数据一致性所有写入自动镜像
维护方便可添加/更换损坏硬盘重建 RAID


❗ 注意事项

  • 不建议把 /boot 放在非 RAID 分区,否则断盘可能导致无法启动。

  • 如果用 BIOS 模式安装,可略过 EFI 分区,使用 /boot 即可。

  • 若使用桌面版 Ubuntu,需预先使用 LiveCD 手动配置 RAID(较为复杂)。
     

🎯 目标

生成一套 Ubuntu Server 24.04 自动化安装配置(Subiquity 自动安装文件),使用 RAID1 镜像两块硬盘作为系统盘,实现一块硬盘损坏时仍能正常启动。


📄 自动安装文件:raid1-autoinstall.yaml

这个文件可以放在 U 盘或 ISO 中进行 自动安装,支持 RAID1、UEFI、LVM(可选),适用于 /dev/sda/dev/sdb

#cloud-config
autoinstall:version: 1identity:hostname: ubuntu-serverusername: ubuntupassword: "$6$Xs9ZY3C...hashedpassword..."  # 这里填你的加密密码locale: en_USkeyboard:layout: usstorage:layout:name: customswap:size: 0config:- id: disk-sdatype: diskmatch:serial: <sda-serial>wipe: superblock-recursive- id: disk-sdbtype: diskmatch:serial: <sdb-serial>wipe: superblock-recursive# EFI partitions- id: sda-efitype: partitiondevice: disk-sdasize: 512Mflag: boot- id: sdb-efitype: partitiondevice: disk-sdbsize: 512Mflag: boot# /boot RAID partitions- id: sda-boottype: partitiondevice: disk-sdasize: 1024M- id: sdb-boottype: partitiondevice: disk-sdbsize: 1024M# root RAID partitions- id: sda-roottype: partitiondevice: disk-sdasize: -1- id: sdb-roottype: partitiondevice: disk-sdbsize: -1# RAID for /boot- id: raid-boottype: raidname: md0level: 1devices: [sda-boot, sdb-boot]spare-devices: []- id: raid-roottype: raidname: md1level: 1devices: [sda-root, sdb-root]spare-devices: []# File systems- id: fs-efi-sdatype: formatvolume: sda-efifstype: fat32- id: fs-efi-sdbtype: formatvolume: sdb-efifstype: fat32- id: fs-boottype: formatvolume: raid-bootfstype: ext4- id: fs-roottype: formatvolume: raid-rootfstype: ext4# Mounts- id: mount-efi-sdatype: mountpath: /boot/efidevice: fs-efi-sda- id: mount-efi-sdbtype: mountpath: /boot/efidevice: fs-efi-sdb- id: mount-boottype: mountpath: /bootdevice: fs-boot- id: mount-roottype: mountpath: /device: fs-rootgrub:install_devices:- /dev/sda- /dev/sdb

❗ 替换说明

  1. 获取硬盘序列号

在 LiveCD 中运行以下命令查看序列号:

lsblk -o NAME,SERIAL 

<sda-serial><sdb-serial> 替换为你硬盘的真实序列号。

  1. 生成密码哈希

如果不希望密码明文,使用以下命令生成:

mkpasswd -m sha-512 

输入你的密码,会返回一个类似 $6$XXXXXX$... 的字符串,复制替换上面的 password 字段。


🔧 使用方法(制作自动安装U盘)

  1. 下载 Ubuntu Server 24.04 ISO

  2. 制作启动 U 盘(用 RufusbalenaEtcher

  3. 在 U盘根目录或 ISO 镜像中创建如下结构:

/autoinstall/└── raid1-autoinstall.yaml
  1. 在启动时按下 EscTab,在引导参数中添加:

autoinstall ds=nocloud\;s=/cdrom/autoinstall/ 

(或指向你 U盘或 ISO 中的路径)


🧪 模拟测试(推荐用虚拟机验证)

你可以用 VirtualBox 或 QEMU 启动该配置,添加两块虚拟磁盘进行测试部署。


✅ 总结

你现在有了一个能:

  • 自动配置两块硬盘为 RAID1

  • 自动分区和挂载

  • 安装 GRUB 到两个磁盘

  • 安装 Ubuntu 并启用自动登录账户

的完整无人值守系统。


如你需要:

  • 自动安装后运行脚本(比如安装 Docker、配置 SSH)

  • 配置 LVM + RAID + Swap

  • 桌面版系统 + RAID 安装

都可以告诉我,我可以继续为你定制自动安装方案。是否需要我帮你打包好 ISO 镜像或生成 LiveCD 模拟环境?

相关文章:

如何使用两块硬盘作为 Ubuntu24 的系统盘,实现坏掉一块不影响系统运行。

最近我想使用Ubuntu组一个NAS系统&#xff0c;想实现系统盘冗余&#xff0c;各位大佬可以给点建议吗。 Deep Seek 为了实现两块硬盘作为 Ubuntu 24 系统盘的冗余配置&#xff08;RAID 1&#xff09;&#xff0c;确保一块硬盘损坏时系统仍可运行&#xff0c;以下是详细步骤&am…...

电子电气架构 --- 细化造车阶段流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

物联网之使用Vertx实现UDP最佳实践【响应式】

小伙伴们&#xff0c;你们好呀&#xff0c;我是老寇&#xff0c;跟我一起学习使用Vertx实现UDP-Server 实现UDP【响应式】 Vertx-Core地址 注意 UDP是无连接的传输&#xff0c;这意味着您与远程客户端没有建立持续的连接。 所以&#xff0c;您发送和接收的数据包都要包含有…...

代码管理平台Gitlab如何通过快解析实现远程访问?

一、Gitlab功能介绍 Gitlab是被广泛使用的基于git的开源代码管理平台&#xff0c;用于管理、存储开发人员代码&#xff0c;同时可以协同开发 二、外网试用Gitlab遇到的问题 运维人员将Gitlab服务器部署在总部机房&#xff0c;而分公司开发人员和出差运维人员就无法访问Gitlab…...

七彩喜防摔马甲:科技守护银发安全的“隐形铠甲”

随着现代人生活方式的多样化&#xff0c;尤其是在户外运动和骑行等活动中&#xff0c;安全问题日益受到重视。 七彩喜防摔马甲&#xff0c;作为一款兼具防护性与舒适性的智能穿戴设备&#xff0c;正在改变人们对传统防护装备的认知。 创新设计 防摔马甲的设计灵感来源于人体…...

IDEA推送到gitlab,jenkins识别,然后自动发布到需要的主机

实验环境 192.168.8.100 gitlab 192.168.8.200 jenkins mvn 192.168.8.10 测试主机 默认都关闭了防火墙和setenforce 实验要求 实验在IDEA上面推送代码然后gitlab推送给jenkins&#xff0c;然后mvn构建&#xff0c;最后发布到测试主机上面 实验开始 在tomcat上安装manve…...

五、【API 开发篇(下)】:使用 Django REST Framework构建测试用例模型的 CRUD API

【API 开发篇】&#xff1a;使用 Django REST Framework构建测试用例模型的 CRUD API 前言第一步&#xff1a;增强 Serializers (序列化器) - 处理关联和选择项第二步&#xff1a;创建 TestCaseViewSet (视图集) - 支持过滤第三步&#xff1a;注册 TestCaseViewSet 到 Router第…...

IDEA推送到gitlab,jenkins识别,然后自动发布到需要的主机(流水线)

jenkins流水线 新建项目 找到流水线选择脚本 3.点击流水线语法开始编辑脚本 4.生成流水线脚本复制 5.修改脚本 6.继续添加(手打) 7.继续生成添加 8.最终脚本 9.保存测试 10.构建 11.访问主页查看是否修改...

四、【API 开发篇 (上)】:使用 Django REST Framework 构建项目与模块 CRUD API

【API 开发篇 】&#xff1a;使用 Django REST Framework 构建项目与模块 CRUD API 前言为什么选择 Django REST Framework (DRF)&#xff1f;第一步&#xff1a;创建 Serializers (序列化器)第二步&#xff1a;创建 ViewSets (视图集)第三步&#xff1a;配置 URLs (路由)第四步…...

vscode连接本地Ubuntu

因为在学习项目的时候&#xff0c;自己的云服务器性能太差一直要编译很长时间&#xff0c;而且总是连接失败&#xff0c;所以搞了一个Ubuntu25.04的系统在自己的vmare中。 其中参考了以下文章。 Ubuntu 24.04 桌面版安装指南(2025版) | 官网镜像下载启动盘制作保姆级图文教程…...

idea无法识别Maven项目

把.mvn相关都删除了 导致Idea无法识别maven项目 或者 添加导入各个模块 最后把父模块也要导入...

Redis应用--缓存

目录 一、什么是缓存 1.1 二八定律 二、使用Redis作为缓存 三、缓存的更新策略 3.1 定期更新 3.2 实时生成 四、缓存预热、缓存穿透、缓存雪崩和缓存击穿 4.1 缓存预热 4.2 缓存穿透 4.3 缓存雪崩 4.4 缓存击穿 一、什么是缓存 缓存(cache)是计算机的一个经典的概念…...

大语言模型与人工智能:技术演进、生态重构与未来挑战

目录 技术演进:从专用AI到通用智能的跃迁核心能力:LLM如何重构AI技术栈应用场景:垂直领域的技术革命生态关系:LLM与AI技术矩阵的协同演进挑战局限:智能天花板与伦理困境未来趋势:从语言理解到世界模型1. 技术演进:从专用AI到通用智能的跃迁 1.1 三次技术浪潮的跨越 #me…...

多模态大语言模型arxiv论文略读(八十六)

EVALALIGN: Supervised Fine-Tuning Multimodal LLMs with Human-Aligned Data for Evaluating Text-to-Image Models ➡️ 论文标题&#xff1a;EVALALIGN: Supervised Fine-Tuning Multimodal LLMs with Human-Aligned Data for Evaluating Text-to-Image Models ➡️ 论文作…...

C++--string类对象

一,引言 string类对象在于更好的处理字符串问题&#xff0c;为对于字符串这一类型提供更加方便的接口和运算符的重载。本片文章首先会引入auto关键字和范围for两个C11小语法。之后按照如下网站所提供的顺序经行讲解。cplusplus.com - The C Resources Networkhttps://legacy.c…...

云计算与大数据进阶 | 28、存储系统如何突破容量天花板?可扩展架构的核心技术与实践—— 分布式、弹性扩展、高可用的底层逻辑(下)

在上篇中&#xff0c;我们围绕存储系统可扩展架构详细探讨了基础技术原理与典型实践。然而&#xff0c;在实际应用场景中&#xff0c;存储系统面临的挑战远不止于此。随着数据规模呈指数级增长&#xff0c;业务需求日益复杂多变&#xff0c;存储系统还需不断优化升级&#xff0…...

Python _day31

DAY 31 文件的规范拆分和写法 今日的示例代码包含2个部分 notebook文件夹内的ipynb文件&#xff0c;介绍下今天的思路项目文件夹中其他部分&#xff1a;拆分后的信贷项目&#xff0c;学习下如何拆分的&#xff0c;未来你看到的很多大项目都是类似的拆分方法 知识点回顾 规范的文…...

【JavaWeb】MyBatis

1 介绍 什么是MyBatis? MyBatis是一款优秀的 持久层 框架&#xff0c;用于简化JDBC的开发。 MyBatis本是 Apache的一个开源项目iBatis&#xff0c;2010年这个项目由apache迁移到了google code&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis官网https://my…...

vue2实现【瀑布流布局】

瀑布流 1. 解释2. 形成结构和样式3. 自定义指令 1. 解释 瀑布流特征&#xff1a; 等宽不等高&#xff1a;元素宽度固定&#xff0c;高度根据内容自适应。错落排列&#xff1a;元素像瀑布一样从上到下依次填充&#xff0c;自动寻找最短列插入 体现&#xff1a;图中第一排1&…...

系统架构设计(十六):敏感点、权衡点、风险点和非风险点

术语定义 概念定义说明敏感点&#xff08;Sensitivity Point&#xff09;架构设计中对某个质量属性有显著影响的点&#xff0c;一旦改变该点&#xff0c;会显著影响系统的某个质量属性。风险点&#xff08;Risk Point&#xff09;由于架构决策带来的潜在失败风险&#xff0c;可…...

优化dp贪心数论

这次三个题目都来自牛客周赛93&#xff0c;个人觉得出的很好&#xff0c;收获颇多。 1.简单贪心 题目意思&#xff1a; 任意选定两个数字&#xff0c;相加之和替代两个数字中的一个&#xff0c;另一个抹除。求操作之后最大字典序之和 思路&#xff1a; 最大字典序之和&…...

详解MySQL 的 binlog,redo log,undo log

MySQL 的 binlog、redo log 和 undo log 是数据库事务处理与数据一致性的核心组件&#xff0c;各自承担不同的职责。 1. binlog&#xff08;二进制日志&#xff09; 定位&#xff1a;MySQL Server 层实现的逻辑日志&#xff0c;与存储引擎无关。作用&#xff1a; 主从复制&…...

SymPy|主元、重新表示、分数、约分表达式、极限、级数、ode、获取值、输出形式

SymPy 是一个 Python 的符号计算库&#xff0c;广泛应用于数学计算、物理建模、工程分析等领域。本文将详细介绍 SymPy 在处理主元操作、重新表示、分数、约分表达式、极限、级数、常微分方程&#xff08;ODE&#xff09;以及获取值和输出形式等方面的应用&#xff0c;通过完整…...

Java 05正则表达式

正则表达式 1.简介 一个字符串&#xff0c;指定一些规则&#xff0c;来校验其他的字符串 String s"";规则 需要进行匹配的字符串.matches(s);来判断2.字符类**&#xff08;单个&#xff09; [abc] String s"[ABC]"; "A".matches(s);返回true…...

IEEE 802.1Q协议下封装的VLAN数据帧格式

1.概要 802.1d定义了生成树 802.1w定义了快速生成树 802.1s定义了多生成树 802.1q定义了VLAN 2.说明 IEEE802.1q协议的作用是&#xff08;生成VLAN标记&#xff09;VLAN编号取值范围&#xff1a;0-4095&#xff0c;其中0和4095是保留编号&#xff0c;所最大值是&#xff…...

VMware三种网络配置对比

​桥接模式&#xff08;Bridged Mode&#xff09;​​ ​​核心特点​​&#xff1a; 虚拟机被视为局域网中的独立设备&#xff0c;直接使用物理网络适配器&#xff0c;需配置与宿主机同一网段的IP地址。 ​​典型场景​​&#xff1a; 虚拟机需对外提供服务&#xff08;如Web…...

再来1章linux系列-19 防火墙 iptables 双网卡主机的内核 firewall-cmd firewalld的高级规则

学习目标&#xff1a; 实验实验需求实验配置内容和分析 &#xff08;每一个设备的每一步操作&#xff09;实验结果验证其他 学习内容&#xff1a; 实验实验需求实验配置内容和分析 &#xff08;每一个设备的每一步操作&#xff09;实验结果验证其他 1.实验 2.实验需求 图…...

Word 转 HTML API 接口

Word 转 HTML API 接口 图像/转换 Word 文档转换为 HTML 文件转换 / 超高精度与还原度 文件转换 / Word。 1. 产品功能 超高精度与还原度的 HTML 文件转换&#xff1b;支持将 Word 文档转换为 HTML 格式&#xff1b;支持 .doc 和 .docx 格式&#xff1b;保持原始 Word 文档的…...

深入解析MATLAB codegen生成MEX文件的原理与优势

一、MATLAB codegen底层工作机制 1.1 MATLAB执行引擎的局限性 MATLAB作为解释型语言&#xff0c;其执行过程包含多个关键步骤&#xff1a; 语法解析&#xff1a;将.m文件代码转换为抽象语法树(AST) 类型推断&#xff1a;运行时动态确定变量类型 内存管理&#xff1a;自动处…...

PEFT简介及微调大模型DeepSeek-R1-Distill-Qwen-1.5B

&#x1f917; PEFT&#xff08;参数高效微调&#xff09;是由Huggingface团队开发的开源框架&#xff0c;专为大型预训练模型&#xff08;如GPT、LLaMA、T5等&#xff09;设计&#xff0c;用于高效地将大型预训练模型适配到各种下游应用&#xff0c;而无需对模型的所有参数进行…...

Python训练营打卡 Day31

文件的规范拆分和写法 今日的示例代码包含2个部分 notebook文件夹内的ipynb文件&#xff0c;介绍下今天的思路项目文件夹中其他部分&#xff1a;拆分后的信贷项目&#xff0c;学习下如何拆分的&#xff0c;未来你看到的很多大项目都是类似的拆分方法 知识点回顾&#xff1a;文件…...

Google精准狙击OpenAI Codex,发布AI编程助手Jules!

自从OpenAI推出 Codex之后&#xff0c;Google就憋不住了&#xff0c;悄悄得瞄准了OpenAI的最新成果。 原计划是是打算在明天举行的Google I/O年度开发者大会上发布相关产品&#xff0c;但Google似乎已经一刻也等不了了。 就在昨天&#xff0c;谷歌正式推出了其AI编程——Ju…...

【办公类-18-04】(Python)“验血单信息”批量生成打印(学校、班级、姓名、性别)

背景说明 督导结束了,准备春游(夏游),搭档在给孩子写打卡单、心愿单,感慨“好多字都不会写了!” 此时,保健老师来发体检材料,叮嘱红色验血单的填写方法。 我觉得我的字也是一塌糊涂。我想用以前做“毕业证书”的方式,将班级幼儿信息打印在体检单上。 【办公类-18-03…...

如何使用通义灵码提高前端开发效率

工欲善其事&#xff0c;必先利其器。对于前端开发而言&#xff0c;使用VSCode已经能够极大地提高前端的开发效率了。但有了AI加持后&#xff0c;前端开发的效率又更上一层楼了&#xff01; 本文采用的AI是通义灵码插件提供的通义千问大模型&#xff0c;是目前AI性能榜第一梯队…...

苍穹外卖04 新增菜品菜品分页查询删除菜品修改菜品

2-6 新增菜品 02 05-新增菜品_需求分析和设计 03 06-新增菜品_代码开发_1 文件上传接口开发&#xff1a; 在这一部分我们主要在于对阿里云oss的代码开发和实现 1.配置阿里云oss&#xff1a; alioss:endpoint: oss-cn-beijing-internal.aliyuncs.comaccess-key-id: access-ke…...

C++ 读取英伟达显卡名称、架构及算力

C++ 读取英伟达显卡名称、架构及算力 通过CUDA Runtime API获取计算能力(推荐)​​CUDA计算能力(Compute Capability)的版本号直接对应显卡架构(如8.6=Ampere,9.0=Hopper)。实现步骤: ​​1.安装依赖​​: 安装 NVIDIA CUDA Toolkit。确保显卡驱动支持CUDA。2. ​​C…...

VitePress 中以中文字符结尾的字体加粗 Markdown 格式无法解析

背景 在编写vitepress项目过程中&#xff0c;发现了一个markdown格式解析的问题。 md文件中&#xff0c;以中文句号结尾的字体加粗&#xff0c;无法正确解析&#xff1a; 不只是中文句号&#xff0c;只要是加粗语句中以中文字符结尾&#xff0c;都无法被正确解析 需要将中文…...

2.前端汇总

框架 html5 html语法 css css3 css语法 框架 tailwind css 官网 JavaScript JavaScript语法 typescript 语法 nodejs 语法 vue3 官网 组件 vite 打包 vue router -路由 pinia - 状态管理 ui element plus axios - ajax 后台管理系统前端快速开发框架 …...

外部因素导致的 ADC误差来源分析

前面分享了ADC自身因素带来的误差&#xff0c;现在再分享一波由于外部因素导致的ADC采样误差。 一、模拟信号源输入减少带来的误差 看一个STM32的ADC转换器的示意图&#xff1a; 从图中可以看到&#xff0c;输入源与采样引脚之间存在阻抗RAIN&#xff0c;流入引脚的电压可能因…...

集成运算放大器知识汇总

一、集成运放的组成 集成运算放大器&#xff0c;就是通过内部元器件的电参量关系将电参量进行运算&#xff0c;达到放大的目的。我们拆解来看&#xff1a; 集成&#xff1a;将电路封装&#xff0c;留出接口&#xff0c;使其模块化&#xff0c;便于移植。运算&#xff1a;这里…...

HBCPC2025 补题 (F、I)

HBCPC2025 补题 补题连接:Codeforces I 感染 做法1&#xff1a;std做法&#xff1a;树上dp统计贡献找最大 #include <bits/stdc.h> using namespace std; typedef long long ll; #define endl \n #define int long long #define pb push_back #define pii pair<int,…...

针对 CSDN高质量博文发布 的详细指南

结合技术写作规范与平台特性&#xff0c;分为 内容规划、写作技巧、排版优化、发布策略 四部分&#xff0c;确保专业性与传播效果&#xff1a; 一、内容规划&#xff1a;精准定位与深度挖掘 选题策略 热点结合&#xff1a;追踪技术趋势&#xff08;如2025年AIGC、量子计算&am…...

python读写bin文件

import numpy as np# 创建二进制数据 data np.array([0x33, 0x34, 0x35, 0x36], dtypenp.uint8)# 写入bin文件 with open(example.bin, wb) as f:data.tofile(f)print("bin文件生成成功")data np.fromfile(example.bin, dtypenp.uint8) print("numpy读取结果:…...

矩阵的秩(Rank)

矩阵的秩&#xff08;Rank&#xff09;是线性代数中的核心概念&#xff0c;表示矩阵中线性无关的行&#xff08;或列&#xff09;的最大数量&#xff0c;反映了矩阵所包含的“独立信息”的多少。以下是其核心要点&#xff1a; 1. 秩的定义 行秩&#xff1a;矩阵中线性无关的行…...

Vue响应式系统演进与实现解析

一、Vue 2 响应式实现详解 1. 核心代码实现 // 依赖收集器&#xff08;观察者模式&#xff09; class Dep {constructor() {this.subscribers new Set();}depend() {if (activeEffect) {this.subscribers.add(activeEffect);}}notify() {this.subscribers.forEach(effect &g…...

【SPIN】高级时序规范(SPIN学习系列--6)

时序操作符[]&#xff08;总是&#xff09;和 <>&#xff08;最终&#xff09;可应用于任何LTL公式&#xff0c;因此 []<><>A 和 <>[]<>(A ∧ []B) 在语法上是正确的。本书不涉及LTL的演绎理论&#xff08;如公理、推理规则及公式的结合律、交换…...

C语言学习之内存函数

今天我们来学习一下C语言中内存函数 以下内存函数的使用均需要包含头文件<string.h> 目录 memcpy函数的使用及其模拟实现 memcpy函数的模拟实现 memmove函数的使用和模拟实现 memmove函数的模拟实现 memset函数的使用 memcmp函数的使用 memcpy函数的使用及其模拟实现…...

Python 数据库编程

一、数据库连接基础 1. 标准流程 import database_module # 如mysql.connector, sqlite3等 # 1. 建立连接 connection database_module.connect( host"localhost", user"username", password"password", database"dbnam…...

软考软件评测师——软件工程之开发模型与方法

目录 一、核心概念 二、主流模型详解 &#xff08;一&#xff09;经典瀑布模型 &#xff08;二&#xff09;螺旋演进模型 &#xff08;三&#xff09;增量交付模型 &#xff08;四&#xff09;原型验证模型 &#xff08;五&#xff09;敏捷开发实践 三、模型选择指南 四…...

机器学习入门

机器学习入门 1 . 机器学习是什么&#xff1f; 机器学习&#xff08;Machine Learning, ML&#xff09;是一种用数据经验替代显式规则编程来完成任务的方法──模型从样本 (X, y) 中学习 映射函数 f: X → Y&#xff0c;并在新样本上做出预测。和传统“if … else”程序相比&…...