簡介
仍然強調所有的測試都是來自樹莓派3B+, 并使用手頭上的綠聯讀卡器進行測試;
實現方案:
- 如 《樹莓派鏡像安裝 + 設置 + 鏡像批量化操作 - USB boot (二)》中所寫, 可以使用樹莓派USB掛載方式, 編寫自動化腳本, 當有對應的設備出現的時候,格式化 + 燒寫鏡像;
- windows上監(jiān)控讀卡器設備
- 遍歷系統(tǒng)設備, 選擇讀卡器設備, 并定時獲取設備信息;
- 當設備有了大小之后, 開始啟動自動燒寫流程;
- 燒寫流程為 ( 格式化成fat32 + 燒寫鏡像 + 彈出磁盤)
- 回到2), 繼續(xù)監(jiān)聽讀卡器
本文選用方案 2, 詳細細節(jié)正在驗證中…
使用到的一些指令與代碼段
格式化
Windows系統(tǒng)磁盤操作指令
用于清除SD Card中存在的多個分區(qū),格式化前做準備
1. "diskpart":此命令啟動DiskPart實用程序,允許您管理磁盤、分區(qū)和卷。
2. "select disk "+nr:此命令選擇由變量"nr"指定的磁盤。"+nr"可能是用于磁盤編號的占位符,您需要將其替換為實際的磁盤編號。
3. "clean":此命令從所選磁盤中移除所有分區(qū)和卷,有效地清理磁盤并準備進行進一步操作。
4. "create partition primary":此命令在所選磁盤上創(chuàng)建一個新的主分區(qū)。主分區(qū)是用于存儲數據或安裝操作系統(tǒng)的基本分區(qū)。
5. "select partition 1":此命令選擇所選磁盤上的第一個分區(qū)。數字"1"代表分區(qū)號,如果需要,您可以更改它以選擇不同的分區(qū)。
6. "set id=0e":此命令將所選分區(qū)的分區(qū)ID設置為"0e"。"0e" ID通常用于FAT32文件系統(tǒng)分區(qū)。
7. "assign":此命令將下一個可用的驅動器字母分配給所選分區(qū)。這樣可以使用分配的驅動器字母訪問該分區(qū)。
這些命令一起執(zhí)行磁盤清理、分區(qū)創(chuàng)建和配置操作。
使用windows指令去掉多余的分區(qū)
正則表達式過濾出設備號
std::regex windriveregex("\\\\\\\\.\\\\PHYSICALDRIVE([0-9]+)", std::regex_constants::icase);
/* _device: \\.\PhysicalDrive2; nr : 2 */
std::regex_match(_device.constData(), m, windriveregex);
QByteArray nr = QByteArray::fromStdString(m[1]);
qDebug() << "Formatting Windows drive #" << nr << "(" << _device << ")";
QProcess proc;
QByteArray diskpartCmds =
"select disk "+nr+"\r\n"
"clean\r\n"
"create partition primary\r\n"
"select partition 1\r\n"
"set id=0e\r\n"
"assign\r\n";
proc.start("diskpart", QStringList());
proc.waitForStarted();
proc.write(diskpartCmds);
proc.closeWriteChannel();
proc.waitForFinished();
fat32格式化工具
在網上下載一些可以終端執(zhí)行的fat32格式化工具, 并進行進程調用, 如下
下載后fat32format.exe -y F: # 其中F:是盤符即可對SD Card或磁盤進行格式化成fat32的格式了
fat32format工具文章來源:http://www.zghlxwxcb.cn/news/detail-620257.html
其他
樹莓派鏡像安裝 + 設置 + 鏡像批量化操作-無需顯示器(一)
樹莓派鏡像安裝 + 設置 + 鏡像批量化操作 - USB boot (二)文章來源地址http://www.zghlxwxcb.cn/news/detail-620257.html
到了這里,關于樹莓派鏡像安裝 + 設置 + 鏡像批量化操作 - 自動化燒寫SD Card (三)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!