Skip to content

Ssunk/UEFI-VisualFileMan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UEFI VisualFileMan

UEFI VisualFileMan Preview

中文版 | English Version


中文说明

VisualFileMan 是一个专为 EDK II (UEFI Shell) 开发的轻量级、双面板、可视化文本控制台文件管理器。它受 Midnight Commander (mc) 启发,让你告别枯燥的纯命令行敲打,在 UEFI 层级中高效地复制、移动、并浏览各种文件和磁盘分卷。

🌟 核心特性

  • 双面布局可视操作:经典双面板并行显示文件树视图,通过 Tab 键在两个面板间自由穿梭切换。
  • 色彩语法:彩色文件展示——青色(Cyan)代表目录,绿色(Green)代表原生 UEFI 固件可执行文件 (.efi),一目了然。
  • 丝滑不闪烁的 TUI:摒弃了每次按键即暴力 ClearScreen() 的闪屏问题,改为原址字符覆写策略,按键操作更流畅。
  • 完整的块设备穿越支持 (跨盘符导航):自动生成一个顶层抽象 Drives: 虚拟入口,退到根目录后再后退时,自动列出所有的 Block Devices (形如 fs0:, fs1: 等),轻松跨越磁盘边界。
  • 快捷键直达执行:集成基础对话框 (MessageBox、带光标编辑功能的 InputBox 等) 以提供安全的 F-Key 按键热操:
    • F5 - 复制 文件(基于智能目录感知的拼接)
    • F6 - 移动 / 重命名
    • F7 - 新建文件夹 (MkDir)
    • F8 - 删除 (Delete) 文件或控文件夹

🛠️ 编译与安装

  1. 环境准备:将此项目全部文件放入 EDK2 工作目录:ShellPkg/Application/VisualFileMan/ 中。
  2. 连接编译链:确保在 EDK II 的 ShellPkg/ShellPkg.dsc[Components] 部分包含该工程:
    [Components]
      ShellPkg/Application/VisualFileMan/VisualFileMan.inf
  3. 编译执行: 使用 EDK II 全局 build 脚本生成 .efi
    source edksetup.sh
    build -p ShellPkg/ShellPkg.dsc -a X64 -t GCC -b DEBUG
  4. 拷入磁盘测试:将编译输出在 Build/Shell/DEBUG_GCC/X64/VisualFileMan.efi 的应用复制至你的 U 盘或 OVMF 的虚拟硬盘挂载点并启动运行即可。

English README

VisualFileMan is a lightweight, dual-pane, text-based visual file manager designed exclusively for EDK II (UEFI Shell). Inspired by Midnight Commander (mc), it provides an intuitive and efficient way to explore, copy, and move files across volumes without relying on raw UEFI command-line interactions.

🌟 Key Features

  • Dual-Pane Layout: Classic side-by-side directory panels. Seamlessly navigate and switch between the active pane by pressing Tab.
  • Color-Coded Feedback: Syntactically colored UI — Cyan for directories and Green for native UEFI executable files (.efi).
  • Flicker-Free Rendering: Instead of using forceful ClearScreen() functions which blank the screen on every key press, this app relies on in-place padding/character overwriting algorithms ensuring perfectly silky rendering.
  • Cross-Disk Subsystem Transversal: Intelligently handles root directory idiosyncrasies. Escaping the root partition exposes a virtual Drives: root displaying all auto-mapped handles like fs0:, fs1:, allowing cross-volume exploration.
  • Native F-Key Bindings via Built-In InputWidgets: Comes with built-in InputBox featuring hardware cursor/text editing and MessageBox to handle raw UEFI inputs:
    • F5 - Copy (Intelligent directory destination detection)
    • F6 - Move / Rename
    • F7 - Create Directory (MkDir)
    • F8 - Delete

🛠️ Build and Installation

  1. Copy the Source: Move this repository's folder into your EDK2 workspace: ShellPkg/Application/VisualFileMan/.
  2. Hook the Component: In EDK II, open ShellPkg/ShellPkg.dsc and add the application under [Components]:
    [Components]
      ShellPkg/Application/VisualFileMan/VisualFileMan.inf
  3. Compile the App: Run the standard EDK II build script targeting ShellPkg:
    source edksetup.sh
    build -p ShellPkg/ShellPkg.dsc -a X64 -t GCC -b DEBUG
  4. Deploy: The resulting UEFI executable will be located at Build/Shell/DEBUG_GCC/X64/VisualFileMan.efi. Transfer this securely into your testing file system formatted in FAT32 or directly into your emulated OVMF VM storage to launch.

运行截图(Execution Screenshot)

主界面(Main menu)

main_menu

移动/重命名(Move)

move

复制(Copy)

copy

删除(Delete)

del

About

UEFI VisualFileMan is a lightweight, dual-pane, text-based visual file manager designed exclusively for EDK II (UEFI Shell). Inspired by Midnight Commander (`mc`), it provides an intuitive and efficient way to explore, copy, and move files across volumes without relying on raw UEFI command-line interactions.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages