liujia 发布的文章

羊蹄甲花开的时候骑单车进火车站

下昼我还瞓稳觉,“爱星光”打电话来,喊骑单车,驷高铁站。我好久不曾骑单车,也有段时间不曾进火车站了,今日好天,也岩出驷运动下。还争开始,就在卫健局门口附近,路中间一排开稳花嘅树就吸引了我。抬头望过驷,红花不艳,红掺着白的花,一朵又一朵叠着,花叠成团。一团挨着一团的花,很显眼、很好看。我以为是樱花,走近一睇,不像,因为落在地脚下的花瓣较大。我停落来,抬头认真睇树上点缀般挂着的绿叶形状,还是认不出。等归到屋下,我将影到嘅花树图片放到网上自动识别,系——洋紫荆,就系羊蹄甲,怪不得那绿叶的形状似曾相识。

我以前也走火车站路,喏般一直不曾注意到佢呢?直到春天佢开到花,我争注意到。我边骑边睇羊蹄甲树,睇不厌般。有的路段种得疏些,我不高兴;密些路段开得花多,我又兴起来。骑着、骑着,突然冇了羊蹄甲树,我转头两头望,原来到火车站前了。我停车,迎肩抬膀,用衣袖擦流到眼角的汗。汗盐眼,有滴睁不开了。好得,过了火车站,前边到高铁站嘅路就一路溜落,单车基本都不使踩。在环城东路我觉得骑到好风,好舒服。不料站前大道还较风,吓到我爱时不时捏下刹车,减下速来。

到了高铁站和平北站,影了几张相。“爱星光”话睇吖冇其它路出,不打原路归,我话我不知路,佢带头我跟背。佢在手机上点了下地图,话有路,就在站前广场的左边。我不多信,慢腾腾跟上。一转角,一条笔直嘅乡道出现在我面前,路两边嘅屋、物,好像我知得。我睇了路边嘅路牌——均坑,啊哈……知得了,骑过、骑过,以前系从福和中学边的路口,有条埂进的。我翻了翻以前嘅骑行记录,系在2013年4月骑过。差不多十年过驷了,有嘅地系变了,如路边嘅篮球场加顶棚了、泥砖老屋老瓦换成树脂瓦了、村委做到较靓了……路不曾变,还系嘅大;路边嘅水塘也原样;路边嘅大树都还系嘅绿……

这次骑单车,从福和大道,经环城东路,到和平北站;返程系进均坑村,走乡道,过新塘村,打新社路口出。前半段,大路三车道;后半段,乡村单车道;大路视野阔,小路屋多景多,各有各的好。我总共花了大概一只钟头,当然其中我骑骑停停、停停拍拍的,使多了不少时间。

图1:路上开了花的羊蹄甲树,很好看
图2:
图3:前边骑着单车的是“爱星光”,在他左边是骑着“青桔”共享电动单车的后生仔
图4:“福和体育公园”公交站
图5:
图6:
图7:“和优路口”公交站,还在贴站牌内容
图8:“井头”公交站
图9:赣深高铁 和平北站
图10:“拱门”公交站
图11:02号线 拱门公交站 站牌内容
图12:经九路、站前大道、环城北路、纬二路、环城东路,路牌
图13:站前大道
图14:和平北站欢迎您
图15:
图16:
图17:站前,大喷水池吧
图18:“爱星光”的影像
图19:和平北公交总站,那有架转角嘅公交车
图20:有只老大人,箍条棍行路
图21:转到乡道
图22:
图23:深圳市福田区南园街道办事处对口帮扶捐建
图24:
图25:
图26:
图27:
图28:
图29:
图30:我在影这都树,料不到旁边屋有狗背,我放快上车骑住走
图31:晒腐竹
图32:新塘村党群服务中心
图33:
图34:
图35:屋前有口井
图36:屋旁菜园,墙头有只笔,好大只
图37:两只细佬哥前边走,大人被稳把锄头,都戴稳帽,好搭配
图38:
图39:
图40:
图41:
图42:
图43:
图44:新社路口
图45:“爱星光”帮我影嘅像

02号线 - 首班 7:00 末班 18:00 无人售票 票价二元
西郊车站
县人民医院
同辉名都
大坪油站
彭寨路口
大坪油站
高车水谢屋路口
城南小学
和平药厂
供电局
汽车总站
海天大厦
六角亭
东山岭
东山小区
龙湖公园
福和花园
聚英阁
县委党校
福和体育公园
和优路口
火车站
曹屋
井头
拱门
均上
和平北站
均上
拱门
井头
曹屋
火车站
和优路口
福和体育公园
县卫健局
龙湖学校
县融媒体中心
县人民法院
商业街
商贸城
碧桂园
县人民医院
西郊车站

链接:

用 Clover 在 bios 机子上模拟 uefi 安装 Windows 2022 系统

继上一篇:《grub2 + 虚拟磁盘 或 grub2 + ntboot 启动 bios + gpt 上的 Windows 2022》,因为网友反馈用方案A和B的Windows系统安装关键更新失败,这里实验方案D:用 clover 在 bios 机上模拟 uefi,让Windows以为这就是uefi启动的。

过程:

  1. 将分好区的虚拟磁盘 win2022.vhd 挂到 debian 11 的虚拟机里,准备安装 clover
  2. 如下载到当前最新版本 Clover-5145-X64.iso.7z,解压后 Clover-5145-X64.iso
  3. mount -o loop Clover-5145-X64.iso /mnt/iso # 挂载iso文件
  4. dd if=/dev/sdb2 of=/tmp/origPBR bs=512 count=1 conv=notrunc # 假如 win2022.vhd 上的 esp 分区为 /dev/sdb2
  5. cp /mnt/iso/usr/standalone/i386/boot1f32 /tmp/newPBR
  6. dd if=/tmp/origPBR of=/tmp/newPBR skip=3 seek=3 bs=1 count=87 conv=notrunc
  7. dd if=/tmp/newPBR of=/dev/sdb2 bs=512 count=1 conv=notrunc
  8. dd if=/mnt/iso/usr/standalone/i386/boot0ss of=/dev/sdb bs=440 count=1 conv=notrunc
  9. mount /dev/sdb2 /mnt/1 # 将 esp 分区挂载到 /mnt/1
  10. cp -r /mnt/iso/efi /mnt/1/ # 复制efi目录到esp分区
  11. cp /mnt/iso/usr/standalone/i386/x64/boot6 /mnt/1/boot
  12. 如果仅启动Windows,可编辑配置文件 /mnt/1/EFI/clover/config.plist ,内容如下:

    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
     <key>Boot</key>
     <dict>
         <key>DefaultVolume</key>
         <string>EFI</string>
         <key>DefaultLoader</key>
         <string>\efi\Microsoft\Boot\bootmgfw.efi</string>
         <key>Fast</key>
         <true/>
     </dict>
     <key>GUI</key>
     <dict>
         <key>Custom</key>
         <dict>
             <key>Entries</key>
             <array>
                 <dict>
                     <key>Hidden</key>
                     <false/>
                     <key>Disabled</key>
                     <false/>
                     <key>Image</key>
                     <string>os_win</string>
                     <key>Volume</key>
                     <string>EFI</string>
                     <key>Path</key>
                     <string>\efi\Microsoft\Boot\bootmgfw.efi</string>
                     <key>Title</key>
                     <string>Windows 2022</string>
                     <key>Type</key>
                     <string>Windows</string>
                 </dict>
             </array>
         </dict>
     </dict>
    </dict>
    </plist>
  13. clover安装好后,释放Windows 2022,添加引导等操作和前边的方案A差不多
  14. 在VirtualBox里的bios虚拟机启动,可以正常安装Windows及进行更新。在系统信息中显示为UEFI类型

在一台线上超微atom C2750的机子上测试,失败,clover未能启动,报错:

X64 Exception type - 0000000000000000D !!!
RIP - 000000007D34F7C5, CS - 00000000000038, RFLAGS - 00000000010206
ExceptionData - 000000000000000

bios-gpt-5.png

bios-gpt-6.png

参考:

grub2 + 虚拟磁盘 或 grub2 + ntboot 启动 bios + gpt 上的 Windows 2022

感谢:wzy,wintoflash,minlearn

需求:主机商提供的产品存储超过2TB容量,且仅支持bios方式启动机子。Linux系统能在 bios + gpt 的环境中正常安装和运行,但 Windows 系统要求 bios + mbr 或 uefi + gpt 的组合,不支持 bios + gpt 的场景。

方案A:从网友 wzy 的博客来看,Windows的启动管理bootmgr.exe不认gpt分区,所以启动不了。解决方法是创建一个包含启动代码和文件的虚拟磁盘文件来启动Windows。缺点:无法Windows更新

方案B:从网友 minlearn 在无忧论坛里和 ntboot 作者 wintoflash 交流帖可知,通过 ntboot 是可以启动 bios + gpt 磁盘上已经安装的Windows系统(不支持Windows安装,会报“Windows安装程序 - 无法将 Window 配置为在此计算机的硬件上运行”的错误)。缺点:无法Windows更新

方案C:用grub4dos的ntloader来启动Windows。测试失败,用grub4dos的ntloader可以让gpt上的windows进入到桌面,但如计算机名、配置网卡静态IP地址等更改操作在重启系统后不生效。

这里记录一下实践的过程:

方案A:

  1. 创建一个vhd固定大小的虚拟磁盘,如 18 GB,名称为win2022.vhd
  2. 该vhd虚拟磁盘至少有三个分区,第一个是BIOS Partition,这个特别的分区是grub2必需的,可通过Linux系统里的cfdisk程序来创建。如下边的分区例子:

    Device                                Start                   End               Sectors               Size Type
    >>  /dev/sdb1                              2048                 32767                 30720                15M BIOS boot
    /dev/sdb2                             32768                647167                614400               300M EFI System
    /dev/sdb3                            647168                679935                 32768                16M Microsoft reserved
    /dev/sdb4                            679936              37746687              37066752              17.7G Microsoft basic data
  3. 创建第二个vhd固定大小的虚拟磁盘,本例的容量为64MB,名称为bootmgr.vhd。磁盘用MBR分区,创建一个主分区,且设置为活动分区
  4. 在Windows系统里附加两个vhd虚拟磁盘,假如本例中,第一个大的虚拟磁盘的NTFS分区盘符是M:,ESP分区盘符是L:;第二个虚拟磁盘的分区的分区盘符是B:
  5. 将已经安装好的Windows映像释放到NTFS分区中,如本例中的第4个分区M:,执行 bcdboot.exe M:\Windows /s L: /v /f uefi 将创建uefi相关的启动文件到 L: 分区 ;执行 bcdboot.exe M:\Windows /s B: /v /f bios 将创建bois相关的启动文件到 B: 分区;执行 bootsect /nt60 B: /mbr 将在B:上创建启动代码
  6. 分离第二个虚拟磁盘
  7. 将bootmgr.vhd的虚拟磁盘文件放到第一个vhd虚拟磁盘中的esp分区中L:
  8. 分离第一个虚拟磁盘
  9. 将win2022.vhd磁盘挂到一个debian系统的虚拟机里,挂载后,esp分区/dev/sdb2路径为/mnt/1,用grub-install将grub2安装到vhd磁盘。如例:grub-install --target=i386-pc /dev/sdb --boot-directory=/mnt/1;复制/usr/lib/syslinux/memdisk 文件 到esp分区/mnt/1
  10. 复制或创建一个grub的配置文件,放在grub目录里,配置文件需有bootmgr.vhd的启动项内容,如本例的部分内容:

     menuentry "bootmgr.vhd" {
    insmod part_msdos
    insmod part_gpt
    insmod fat
    insmod ntfs
    linux16 /memdisk raw
    initrd16 /bootmgr.vhd
    }

    11.正常的情况下,该包含有grub2,bootmgr.vhd和Windows的gpt vhd虚拟磁盘,能在VirtualBox的bios或efi虚拟机里启动

方案B:

  1. 下载ntboot的源码,通过grub-mkimage创建好grub2的core.img,再用grub-install安装到vhd磁盘。如例:grub-install --target=i386-pc /dev/sdb --boot-directory=/mnt/1 --directory=/home/liujia/grub/i386-pc/ 这例里,是将vhd磁盘挂到debian系统里安装grub2,/mnt/1路径是vhd的第2个分区,即esp分区 /home/liujia/grub/i386-pc/ 是ntboot源码的目录路径
  2. 将windows的安装光盘iso里的sources/boot.wim/1/Windows/Boot/PXE/bootmgr.exe文件提取出来,放到ESP分区中
  3. 复制或创建一个grub的配置文件,放在grub目录里,配置文件需有ntboot的启动项内容,如本例的部分内容:

    menuentry 'nbtoot' {
    insmod part_msdos
    insmod part_gpt
    insmod fat
    insmod ntfs
    set root='hd0,gpt2'
    ntboot --efi=/bootmgr.exe --win (hd0,gpt4);
    }
  4. 将已经安装好的Windows映像释放到NTFS分区中,如本例中的第4个分区,且Windows是从uefi环境中引导的(ESP中有Windows的相应目录和文件,如上边的步骤,执行 bcdboot.exe M:\Windows /s L: /v /f uefi
  5. 正常的情况下,该包含有grub2,ntboot和Windows的gpt vhd虚拟磁盘,能在VirtualBox的bios或efi虚拟机里启动

问题:因为Windows是已经安装的,所以如将这个win2022.vhd复制使用,Windows的SID、计算机名称等是一样的。微软建议用sysprep来生成新的SID,避免机子加域时遇到问题。

bios-gpt-2.png

参考:

看小说——红楼梦

和平社区的张老师发了张帖,提到《红楼梦》里本书。我很早就知得,《红楼梦》系名著,但以为系本爱情小说,所以我一直不曾翻看。里次,我从“维基文库”网站里下载电子版本,再放到电子阅读器里睇。我大概每工睇半零回,睇了差不多四只月,好睇,好好睇。真系:过年前开始睇,睇到过年,睇到出十五。

第一好,系人物写得有特点,好真。生活中,我一般不睇面来认人。我睇小说也系,我记不住书中众多人物的名字,经常系爱倒转前面一、两行去看话是谁说的,动作是谁做的。跟随着书中的情节发展,我不仅认得到林黛玉、薛宝钗了,连迎春、探春、惜春也知得了,甚至是走过场般的司棋丫头也有印象。我是从侧面来认人物的。如黛玉、宝钗俩人,在打杂说的闲话中,廖廖几只字就描绘得生动、深刻:怕说话的气吹倒了林黛玉,热气雪化了薛宝钗。当我看到这,感叹写这书的人,真真来得到。还有,在林黛玉拿话调侃惜春作画时间那,忍不住笑道:“又要照着这样儿慢慢的画,可不得二年的功夫!”我也是跟着她般,笑出了声。当看到宝玉听紫鹃说林黛玉要回江南,吵闹着要取下摆在架子上的汽船,给藏到被子里,要阻止林家的人来接走林黛玉这一节时,我更是笑得在床碌来碌驷。

第二好,系书中的文学、风俗知识多。他们开诗社,作诗接龙等,我只是看热闹,不懂得诗句意思和押韵等,更体会不到字句之妙了。倒是林黛玉教香菱读诗、作诗时,说到要起、承、转几个字,我记住了。还有,薛宝钗要为惜春准备画画用品时,罗列了一长江,诸如大小不一的笔头、颜料、调色盘和纸张时,我看得张大了口,想怎么她画张画,要这么讲究的。当他们争先恐后比赛放风筝时,我才知道,原来放风筝是要在线放尽、放完时,将线剪断,放走风筝,让它随风飞走的,寓意是将晦气放走,迎来好运,这真的是放风筝。当贾老太太摆桌吃饭,听戏行令时,我不太明白怎么玩,幸好凤姐儿说的笑话我看得明白,我也乐呵呵的。

我发现,书中有一些词语,和客家日常话是相同的。如:二人便上马仍回旧路。茗烟在后面只嘱咐。“二爷好生骑着。这马总没大骑的,手里提紧着”。这里的“好生”词。再如:小燕放在案上,走去拿了小菜并碗箸过来,拨了一碗饭。这里的“碗箸”词。现在我在家,经常能听到家里人说,“捡碗箸,准备食饭”;“好生扛菜,汤每打洒”。如此,我在书中有了“新发现”,想跟人说说。

一天,我跟吖后在河边,边走边聊。我问,
“尔睇过《水许传》、《红楼梦》咪?”
吖后听了,停步侧头,想了想,反问道,
“吖咪《水壶(浒)传》?”
我懵了下,赶紧点了又点头,“系。系《水浒传》。”
“睇过。尔想问惹?”
“我想问,之前嘅书都系用繁体字。在历史上,繁体字沿用了嘅久,做惹里下一下子就变成了简体字?”
吖后想了好一会,“我亦不知啊。我就知得粤语的发音与以前汉字注音、读音相近。手机短视频中,有人用粤语朗读古诗,好靓听。”

我回想小时候,认字是从“围哒”(竹编的,有两床这么大的,主要用来晒稻谷)、打禾机和碗底上的字开始的,因为以前农村各户集中在大屋居住,各家农具、生活用品怕打混,所以会在器具角落或中心位置写上各家的名字。如,排名老二家的围哒,左上角可能就会简写一个“贰”字。还有,大屋大门上的匾额,也是用繁体字写的,如“校書第”。我小时候是认得“書”字,但不晓得写。小学里的老师是不会教繁体字的。我第一次认真、多次练繁体字,系“劉”字。那时,流行歌星是香港的“四大天王”。因其中之一“刘德华”是共姓,我尤其追捧,不仅买他的贴画、买他的《天意》录音机磁带,还模仿他的签名——“劉德華”。“劉”字比“刘”的笔画多得多,可我练得有劲头。之后,“劉”繁体字是晓写了,但从不敢在作业本或考卷上写名时写“劉”字,仍是写“刘”。

当我看到《红楼梦》里“劉姥姥”几次出场,是挺高兴的。但当听到林黛玉取笑她是“蝗虫”时,我理应当怨黛玉刻薄,但事实上,我又是忍不住跟着笑了。

参考:https://zh.wikisource.org/wiki/%E7%B4%85%E6%A8%93%E5%A4%A2

在 iredmail 里批量添加邮箱用户

环境:debian11,iredmail-1.5.1。例子,创建user5@anqun.orguser6@anqun.org两个邮箱用户。

步骤:

  1. cd iRedMail-1.5.1/tools # 转到 iRedmail 安装目录中的tools子目录
  2. bash create_mail_user_SQL.sh user5@anqun.org 'mima881' >> user.sql
    bash create_mail_user_SQL.sh user6@anqun.org 'mima882' >> user.sql # 生成一个包含sql语句的文件。sql语句是创建user5和user6两个用户,且设置密码
  3. mysql -u root vmail < user.sql # 将此文件导入到vmail数据库中

参考:https://docs.iredmail.org/sql.create.mail.user.html