FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • man
  • man1
    • Mail.1
    • addr2line.1
    • alias.1
    • alloc.1
    • apply.1
    • apropos.1
    • ar.1
    • at.1
    • atq.1
    • atrm.1
    • awk.1
    • basename.1
    • batch.1
    • bc.1
    • bg.1
    • bind.1
    • bindkey.1
    • break.1
    • breaksw.1
    • bsdcat.1
    • bsdtar.1
    • btsockstat.1
    • builtin.1
    • builtins.1
    • c++.1
    • case.1
    • cat.1
    • cc.1
    • chdir.1
    • chfn.1
    • chgrp.1
    • chkey.1
    • chmod.1
    • cksum.1
    • clang++.1
    • clang-cpp.1
    • cmp.1
    • colrm.1
    • column.1
    • comm.1
    • command.1
    • complete.1
    • continue.1
    • cp.1
    • cpp.1
    • crypt.1
    • csh.1
    • ctfdump.1
    • cut.1
    • date.1
    • dd.1
    • default.1
    • df.1
    • dialog.1
    • diff.1
    • diff3.1
    • dirname.1
    • dirs.1
    • do.1
    • done.1
    • dtrace.1
    • du.1
    • echo.1
    • echotc.1
    • edit.1
    • ee.1
    • egrep.1
    • elfdump.1
    • elif.1
    • else.1
    • end.1
    • endif.1
    • endsw.1
    • enigma.1
    • env.1
    • esac.1
    • eval.1
    • exec.1
    • exit.1
    • export.1
    • fc.1
    • fg.1
    • fgrep.1
    • fi.1
    • filetest.1
    • find.1
    • for.1
    • foreach.1
    • fsync.1
    • ftp.1
    • fuser.1
    • gate-ftp.1
    • getopts.1
    • glob.1
    • goto.1
    • grep.1
    • groups.1
    • gunzip.1
    • gzcat.1
    • gzip.1
    • hash.1
    • hashstat.1
    • head.1
    • history.1
    • host.1
    • hostname.1
    • hup.1
    • ibv_asyncwatch.1
    • ibv_devices.1
    • ibv_devinfo.1
    • ibv_ud_pingpong.1
    • id.1
    • ident.1
    • if.1
    • intro.1
    • introduction.1
    • jobid.1
    • jobs.1
    • kdump.1
    • kenv.1
    • keylogin.1
    • keylogout.1
    • kill.1
    • killall.1
    • ktrace.1
    • last.1
    • lastcomm.1
    • ld.1
    • ld.lld.1
    • ldd.1
    • ldd32.1
    • less.1
    • lessecho.1
    • limit.1
    • limits.1
    • link.1
    • llvm-addr2line.1
    • llvm-ranlib.1
    • ln.1
    • locate.1
    • lockstat.1
    • log.1
    • logger.1
    • login.1
    • logname.1
    • logout.1
    • look.1
    • lorder.1
    • ls-F.1
    • ls.1
    • lsvfs.1
    • lzcat.1
    • lzma.1
    • lzmadec.1
    • lzmainfo.1
    • mailx.1
    • make.1
    • man.1
    • mandoc.1
    • manpath.1
    • md5.1
    • mdocml.1
    • mkdir.1
    • mkfilters.1
    • more.1
    • mv.1
    • nawk.1
    • nc.1
    • netstat.1
    • newaliases.1
    • nice.1
    • notify.1
    • onintr.1
    • pagesize.1
    • passwd.1
    • paste.1
    • pax.1
    • perror.1
    • pftp.1
    • popd.1
    • printenv.1
    • ps.1
    • pushd.1
    • pwd.1
    • qemu.1
    • ranlib.1
    • read.1
    • readelf.1
    • readlink.1
    • readonly.1
    • realpath.1
    • ree.1
    • rehash.1
    • repeat.1
    • rev.1
    • revoke.1
    • rgrep.1
    • rm.1
    • rmd16.1
    • rmdir.1
    • rping.1
    • ruptime.1
    • rwho.1
    • sched.1
    • scp.1
    • sdiff.1
    • sed.1
    • seq.1
    • set.1
    • setenv.1
    • settc.1
    • setty.1
    • setvar.1
    • sftp.1
    • sh.1
    • sha1.1
    • sha224.1
    • sha256.1
    • sha384.1
    • sha512.1
    • sha512t256.1
    • shift.1
    • skein1024.1
    • skein256.1
    • skein512.1
    • slogin.1
    • sockstat.1
    • sort.1
    • source.1
    • split.1
    • ssh-copy-id.1
    • ssh-keygen.1
    • ssh.1
    • stat.1
    • stop.1
    • su.1
    • suspend.1
    • svnlite.1
    • switch.1
    • systat.1
    • tail.1
    • tar.1
    • tcpdump.1
    • tcsh.1
    • telltc.1
    • telnet.1
    • then.1
    • time.1
    • timeout.1
    • times.1
    • top.1
    • touch.1
    • trap.1
    • truncate.1
    • truss.1
    • type.1
    • ulimit.1
    • umask.1
    • unalias.1
    • uname.1
    • uncomplete.1
    • unhash.1
    • uniq.1
    • unlimit.1
    • unlink.1
    • unlzma.1
    • unset.1
    • unsetenv.1
    • until.1
    • unxz.1
    • uptime.1
    • users.1
    • uuidgen.1
    • view.1
    • w.1
    • wait.1
    • wall.1
    • wc.1
    • whatis.1
    • where.1
    • whereis.1
    • which.1
    • while.1
    • who.1
    • whoami.1
    • xargs.1
    • xz.1
    • xzcat.1
    • xzdec.1
    • xzdiff.1
    • yes.1
    • yppasswd.1
    • zcat.1
    • zcmp.1
    • zdiff.1
    • zforce.1
    • zless.1
    • zmore.1
    • znew.1
  • man4
    • ow.4
    • ow_temp.4
    • owc.4
  • man5
    • device.hints.5
  • man7
    • hire
  • man8
    • adduser.8
    • authpf-noip.8
    • authpf.8
    • autounmountd.8
    • beastie.4th.8
    • bhyve.8
    • bhyvectl.8
    • bhyveload.8
    • blacklistctl.8
    • boot.8
    • boot0cfg.8
    • boot_i386.8
    • bsdconfig.8
    • camcontrol.8
    • check-password.4th.8
    • chown.8
    • chroot.8
    • config.8
    • crash.8
    • crashinfo.8
    • devctl.8
    • devinfo.8
    • devmatch.8
    • diskinfo.8
    • dmesg.8
    • fastboot.8
    • fasthalt.8
    • freebsd-update.8
    • fstyp.8
    • ftp-proxy.8
    • ftpd.8
    • gpart.8
    • gpioctl.8
    • gptboot.8
    • gptzfsboot.8
    • growfs.8
    • halt.8
    • i2c.8
    • ifconfig.8
    • inetd.8
    • init.8
    • intro.8
    • iostat.8
    • ipfw.8
    • jail.8
    • jexec.8
    • jls.8
    • kldconfig.8
    • kldload.8
    • kldstat.8
    • kldunload.8
    • kldxref.8
    • lastlogin.8
    • loader.4th.8
    • loader.8
    • loader.efi.8
    • mail.local.8
    • mailstats.8
    • menu.4th.8
    • mount.8
    • mount_cd9660.8
    • mount_msdosfs.8
    • moused.8
    • mtree.8
    • natd.8
    • nmtree.8
    • ntptime.8
    • password.lua.8
    • periodic.8
    • ping.8
    • pkg.8
    • pmccontrol.8
    • pmcstat.8
    • powerd.8
    • poweroff.8
    • pw.8
    • pwm.8
    • quot.8
    • rarpd.8
    • rc.8
    • rc.d.8
    • rc.firewall.8
    • rc.local.8
    • rc.network.8
    • rc.pccard.8
    • rc.resume.8
    • rc.serial.8
    • rc.shutdown.8
    • rc.subr.8
    • rcorder.8
    • reboot.8
    • renice.8
    • rescue.8
    • rmuser.8
    • route.8
    • route6d.8
    • routed.8
    • rpc.rusersd.8
    • service.8
    • shutdown.8
    • spi.8
    • ssh-keysign.8
    • sysctl.8
    • sysrc.8
    • tcpdrop.8
    • tftpd.8
    • tzsetup.8
    • umount.8
    • vmstat.8
    • watchdog.8
    • watchdogd.8
    • zfs.8
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
  • 名称
  • 描述
  • 实施说明
  • 分区属性
  • 用法
  • 开机
  • 启动后操作
  • 文件
  • 实例
  • 参见
  • 历史
  • 作者
在GitHub上编辑
导出为 PDF
  1. man8

gptboot.8

上一页gpioctl.8下一页gptzfsboot.8

最后更新于1年前

GPTBOOT(8)

GPTBOOT(8)

FreeBSD System Manager's Manual

GPTBOOT(8)

gptboot —

基于 BIOS 的计算机上 UFS 的 GPT 引导代码

gptboot 在基于 BIOS 的计算机上用于从 GPT 分区磁盘上的 UFS 分区引导。 gptboot 使用 gpart(8) 安装在 freebsd-boot 分区中。

当它启动时, gptboot 首先读取 GPT 并确定从哪个驱动器和分区启动,如下面的 中所述。 如果它没有找到符合条件的分区,或者如果用户在三秒内按下了一个键, gptboot 就会从自动引导切换到交互模式。 交互模式允许手动选择磁盘、分区、文件名和引导选项标志,如 boot(8) 中所述。

GPT 标准允许可变数量的分区,但 gptboot 仅从具有 128 个或更少分区的表引导。

gptboot 检查和管理 GPT UFS 分区的几个属性。

尝试从此分区启动。 如果多个分区设置了 bootme 属性, gptboot 将尝试引导每个分区,直到成功。

仅尝试从该分区引导一次。 使用 gpart(8) 设置此属性也会自动设置 bootme 属性。 多个分区可能设置了 bootonce 和 bootme 属性。

对于正常使用,用户不必设置或管理任何分区属性。 gptboot 将从找到的第一个 UFS 分区启动。

bootonce 属性可用于在已经运行的计算机上测试升级的操作系统。 现有系统分区保持不变,待测试操作系统的新版本安装在另一个分区上。 bootonce 属性是在新的测试分区上设置的。 尝试从测试分区进行下一次引导。 成功或失败将显示在系统日志文件中。 成功启动测试分区后,用户脚本可以检查日志并更改 bootme 属性,以便测试分区成为新的系统分区。 因为 bootonce 属性在尝试引导后被清除,所以失败的引导不会让系统尝试从永远不会成功的分区引导。 相反,系统将从旧的、已知工作的、尚未修改的操作系统引导。 如果在任何分区上设置了 bootme 属性,将首先尝试从它们进行引导。 如果没有找到具有 bootme 属性的分区,则将从找到的第一个 UFS 分区尝试引导。

gptboot 首先读取分区表。 所有只设置了 bootonce 属性(表示引导失败)的 freebsd-ufs 分区都设置为 bootfailed 。 然后 gptboot 扫描所有的 freebsd-ufs 分区。 引导行为取决于在这些分区上设置的 bootme 和 bootonce 属性的组合。

最高优先级:尝试从具有这两个属性的每个 freebsd-ufs 分区进行引导。 在每个分区上,都会删除 bootme 属性并尝试引导。

中优先级:尝试从具有 bootme 属性的每个 freebsd-ufs 分区进行引导。

如果在任何分区上都找不到 bootonce 和 bootme 属性,则尝试从磁盘上的第一个 freebsd-ufs 分区进行引导。

启动脚本 /etc/rc.d/gptboot 检查所有 GPT 磁盘上的 freebsd-ufs 分区的属性。 具有 bootfailed 属性的分区会生成 “boot from X failed” 系统日志消息。 仅具有 bootonce 属性的分区(指示成功引导的分区)会生成 “boot from X succeeded” 系统日志消息。 从所有分区中清除 bootfailed 的属性。 bootonce 属性会从成功引导的分区中清除。 通常只有其中之一。

/boot/gptboot

引导码二进制

/boot.config

引导块的参数(可选) (optional)

gptboot 安装在 freebsd-boot 分区中,通常是磁盘上的第一个分区。 “protective MBR” (参见 gpart(8)) 通常与 gptboot 一起安装。

在 ada0 驱动器上安装 gptboot :

gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0

gptboot 也可以在没有 PMBR 的情况下安装:

gpart bootcode -p /boot/gptboot -i 1 ada0

设置分区 2 的 bootme 属性:

gpart set -a bootme -i 2 ada0

为分区 2 设置 bootonce 属性,同时自动设置 bootme 属性:

gpart set -a bootonce -i 2 ada0

boot.config(5), rc.conf(5), boot(8), gpart(8)

gptboot 出现在 FreeBSD 7.1 中。

本手册页由 Warren Block ⟨wblock@FreeBSD.org⟩ 编写。

April 30, 2019

FreeBSD 13.1-RELEASE

属性标记了设置了 bootonce 属性但无法引导的分区。 该属性由系统管理。 有关详细信息,请参阅下面的 和 。

bootme

名称
描述
BOOTING
实施说明
分区属性
bootme
bootonce
bootfailed
bootfailed
BOOTING
POST-BOOT ACTIONS
用法
开机
bootonce +
bootme
启动后操作
文件
实例
参见
历史
作者