双系统GRUB配置文件示例

一台工控机上安装了 WindowsXP 和 RHEL5.4 双系统,采用 GRUB 作为系统引导管理器。先安装WindowsXP,再安装Linux,GRUB会自动生成系统引导配置文件 /boot/grub/grub.conf。下面是配置文件的实际内容:

 

文件:/boot/grub/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,4)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hdc
default=0
timeout=15
splashimage=(hd0,4)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5PAE)
        root (hd0,4)
        kernel /vmlinuz-2.6.18-164.el5PAE ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-164.el5PAE.img
title Windows xp
        rootnoverify (hd0,0)
        chainloader +1

 

其中 default=0 表示自动引导到Linux系统,如果改成 default=1 则自动引导到WindowsXP系统。此配置的修改方法是由我的同事 darrylee 提供的。

 

注意:有多个符号链接指向 /boot/grub/grub.conf ,包括 /boot/grub/menu.lst 和 /etc/grub.conf,如下所示:

[root@liunx0918 ~]# ls -l /boot/grub/grub.conf /boot/grub/menu.lst /etc/grub.conf
-rw------- 1 root root 684 09-24 11:03 /boot/grub/grub.conf
lrwxrwxrwx 1 root root  11 09-17 12:31 /boot/grub/menu.lst -> ./grub.conf
lrwxrwxrwx 1 root root  22 09-17 12:31 /etc/grub.conf -> ../boot/grub/grub.conf
[root@liunx0918 ~]#

 

 

再次修复,双系统找回 Windows 启动引导 不得不感叹一下,双系统下不能轻易升级更新啊 T_T !继上次更新win10 1709导致引导问题之后《修复GRUB:win10 1709 秋季创意者更新导致Linux双系统无法引导》今天又出现了因为更新 Linux 内核导致了GRUB 引导选择中的 Windows 启动项消失不见了… 哎~开始折腾吧。一条命令修复启动项我的硬盘分区是 gpt 分区,包括 win10 1709 秋季更新版和 Man 阅读详情

相关推荐

双系统安装出现 grub(GNU GRUB Version 2.02或者2.04等) 如何退出、修复等常见问题解答

优快云部分回答针对此问题提供了大量修改命令,让人看着就难搞! 比如: *方案:   1.编辑grub文件 sudo vim /etc/default/grub   2.注释:GRUB_HIDDEN_TIMEOUT=0   3.修改:GRUB_TIMEOUT=0.01   4.修改后:sudo update-grub   5.重启电脑 sudo shutdown -r now直接进入登录界面 * ...

qq_36230292的博客 9万+

Ubuntu 20.04 双系统配置文档

记录了拯救者笔记本Y7000P配置ubuntu20.04版本的过程

weixin_48588585的博客 3982

怎样修改Ubuntu&windows10双系统的默认启动顺序

怎样修改Ubuntu&windows10双系统的默认启动顺序 参考网址:https://jingyan.baidu.com/article/f71d60379e16021ab641d1ab.html 很多人在安装Linux系统,如Fedora或Ubuntu等操作系统玩的时候,一般还会保留一份Windows操作系统作为主用系统,但是发现安装了Linux系统之后,默认的启动菜单就变成...

a746742897的博客 1万+

【2025年】双系统引导修复全记录:从GRUB命令行到完美恢复Windows引导

摘要: 本文记录了Windows 10与Ubuntu 20.04双系统因误操作导致GRUB引导失效的修复过程。问题表现为每次启动直接进入GRUB命令行界面,通过临时命令可启动Windows但无法持久解决。分析发现是UEFI引导顺序错乱及Ubuntu引导文件损坏所致。最终使用EasyUEFI工具删除Ubuntu启动项并清理ESP分区中的引导文件,重建Windows引导后彻底解决问题。文章详细介绍了修复步骤、工具使用方法及预防措施,为双系统用户提供了实用的引导修复方案和经验总结。(149字) 关键词: 双系统引

深耕CV 6910

GRUB双系统启动配置工具包

GRUB(GRand Unified Bootloader)是现代多启动引导加载器的代表之一,它支持Linux和其他Unix-like系统,以及Windows系列操作系统。GRUB能够通过菜单让用户选择启动的操作系统,极大地增强了多系统共存环境下的启动管理。

weixin_33419305的博客 1177

智能检查点优化:动态频率与差异化存储的断点续训实践(模型训练丨容错机制丨人工智能)

本文深入探讨了大规模模型训练中智能检查点优化的核心实践。针对传统固定频率保存导致的存储浪费与恢复缓慢问题,提出了基于损失变化率的动态频率算法与分层差异化存储策略。通过PyTorch代码示例,详细展示了如何实现动态调度与增量保存,有效降低存储成本,并确保训练中断后能快速、可靠地恢复,显著提升训练任务的容错能力与经济效益。

weixin_29072299的博客 333

【麒麟+win双系统配置保留启动选项及更改grub页面等待时间】

安装麒麟+win双系统,每次开机要手动选择进入哪个系统,且等待页面时间过短、想要修改等待时长且默认记住上次进入的系统选项,以实现不用操作即可进入上次关机的系统

qq_40837752的博客 5239

Java开发者必备:Ollama4j客户端库全面指南与实战

在AI应用开发领域,本地部署大型语言模型(LLM)已成为降低成本和提升隐私安全的重要趋势。其核心原理是通过REST API与模型服务器交互,实现文本生成、对话和语义理解等功能。这一技术为Java生态系统带来了显著的工程价值,使开发者能够便捷地将AI能力集成到企业级应用中。Ollama4j作为一款专为Java设计的轻量级客户端库,通过封装底层HTTP通信和JSON处理,提供了类型安全、面向对象的API,极大地简化了与Ollama服务器的交互。它全面支持流式生成、多轮对话、嵌入向量计算以及高级的**工具调用**

weixin_28295799的博客 436

系统引导管理器 GRUB 为初学者指南

一、什么是多重操作系统引导管理器,什么是GRUB; 1、什么是多重操作系统引导管理器及工作原理; 系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成; Briefly, boot loader is the first s

2146

Java开发的企业排班系统

Java开发的企业排班系统,用了springboot框架,人脸识别是采用百度接口的方式实现

自学网站s.jf3q.com,菜鸟的成长之路 6012

远程桌面连接失败?手把手教你解决CredSSP加密Oracle漏洞(Win10/Win11通用)

本文详细解析了Windows远程桌面连接因CredSSP加密Oracle漏洞安全更新导致的“身份验证错误”问题。文章从原理入手,提供了通过组策略编辑器(适用于专业版)和注册表编辑器(适用于家庭版)两种核心解决方案,指导用户将安全策略调整为推荐的“缓解”模式,以在保障安全的前提下恢复连接,并给出了高级脚本处理与安全最佳实践。

u6v7w8x的博客 724

在ubantu上面创建pycharm桌面快捷方式

在ubantu上面创建pycharm桌面快捷方式

QT-Smile 3955

基于IP2369与STM32的45W双向PD移动电源设计

USB PD(Power Delivery)是一种面向高功率、智能协商的通用快充协议,其核心在于通过BMC编码在CC线上完成供电能力(PDO)动态匹配与电压/电流精准调控。IP2369作为高度集成的PD协议管理芯片,内置PHY、协议引擎与MOSFET驱动,可卸载MCU实时通信压力;而STM32F103系列凭借低功耗STOP模式与丰富外设,成为电源状态管理与用户交互的理想协处理器。该组合显著提升系统鲁棒性与能效比,适用于便携式移动电源、嵌入式备用电源及PD协议教学验证等场景。本文围绕IP2369配置电阻精度、

weixin_42608299的博客 515

修改配置文件实现双硬盘双系统Linux的grub引导

对 Linux 了解一段时间后,决定把 Linux 装上去,经过几天的研究,终于搞明白了关于Linux分区的问题,在安装的过程中,顺利的解决了,但是到了安装组件的时候,问题出现了,连续几次的报错,停下来在网上找了关于报错的问题,结果没有找到我要的答案,只好自己琢磨了,偶然的机会发现,原来是误选了软件安装存储库,把这项钩掉就OK了,一路顺利安装。 但是安装结束系统重新启动,发现默认的MBR引导,...

weixin_34311757的博客 1484

Springboot计算机毕业设计校园树洞微信小程序【附源码】开题+论文+mysql+程序+部署

因此,开发一款专门针对校园用户的树洞微信小程序,为学生提供一个安全、私密、便捷的倾诉和交流平台,具有重要的现实意义和应用价值。通过本研究的实施,我们预期能够开发出一款功能全面、操作便捷的校园树洞微信小程序,为校园师生提供一个安全、私密、便捷的倾诉和交流平台。此外,通过不断优化和改进小程序的功能和服务,我们预期能够提升用户体验和满意度,推动校园树洞小程序的持续发展,并为校园生活的和谐与健康发展做出积极贡献。同时,通过不断优化小程序的功能和服务,提升用户体验和满意度,推动校园树洞小程序的广泛应用和持续发展。

光冯毕设程序 1666

单像素成像技术原理与Matlab仿真实现

傅里叶变换是数字图像处理的核心数学工具,它将图像从空间域转换到频率域表示。基于傅里叶频谱分析的成像技术通过采集关键频率分量实现图像重建,这种原理催生了单像素成像这一创新技术。单像素成像利用空间光调制器和单个探测器直接测量傅里叶系数,结合压缩感知算法实现高效成像,在红外、太赫兹等特殊波段展现出独特优势。通过Matlab仿真可以验证傅里叶基测量矩阵的构建、压缩感知重建等关键技术环节,为实际系统开发提供理论基础。该技术在弱光环境成像、显微观测等领域具有重要应用价值,其低成本特性也大大降低了特殊波段成像的门槛。

weixin_29061425的博客 344

双系统 修改grub启动菜单字体大小

电脑装完双系统后,系统导引界面字体很小,解决方法如下: 思路: 设置grub配置文件中的屏幕分辨率, 分辨率调小,字体就会变大; 解决方法: 终端输入: $ sudo gedit /etc/default/grub; 在打开的grub文件中找到GRUB_GFXMODE,将前面的注释去掉,并将其值设置为 GRUB_GFXMODE=1024x768, 保存; 然后终端输入:$ sudo update-grub; 重启电脑,让配置生效。 ...

qq_33379538的博客 4841

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Ubuntu】修改ubuntu和windows双系统启动顺序

GRUB(GRand Unified Bootloader,大一统引导程序)是一个用于加载和管理系统启动的完整程序。它是 Linux 发行版中最常见的引导程序bootloader。引导程序是计算机启动时运行的第一个软件。它加载 操作系统的内核,然后再由内核初始化操作系统的其他部分(包括 Shell、显示管理器、桌面环境 等等)。Ubuntu+Windows双系统默认使用GRUB作为引导管理器,而且通常默认启动Ubuntu。这样过于死板,而且也不一定符合我们个人的使用习惯。可以通过更改Grub配置文件实现。

amnesiagreen的博客 6760

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

linux启动配置文件顺序,GRUB配置文件修改改变默认启动顺序

案例:red hat linux + windows 2003 es 双系统,通过修改grub配置文件修改改变默认启动顺序描述:默认启动linux系统,如果要想启动windows 2003系统则需要在启动电脑后的几秒钟内(GRUB倒计时)按键盘上的上下选择键切入系统选择画面,现通过修改配置文件来作用操作过程:进入linux系统,进入终端,通过su命令将权限提升至root(或者之前就用root登陆,...

weixin_39611161的博客 304

双系统,grub系统选择界面字体大小调整!

winodws+ubuntu双系统,grub系统选择界面字体太小了,尤其是4K分辨率屏幕,影响观感,想要字体变大。

Perfect886的博客 3256

GRUB 菜单在开机不显示问题(安装完Ubuntu20.04和win10)

我的问题是安装Ubuntu20.04和win10 双系统,开机直接进入Ubuntu,不显示grub菜单 sudo vim /etc/default/grub 找到 GRUB_TIMEOUT_STYLE=hidden //前面加# 注释掉 如果有 GRUB_HIDDEN_TIMEOUT=0 //前面加#也注释掉 确保 GRUB_TIMEOUT=10 然后sudo update-grub 以上对我电脑不起作用,开机还是直接进入ubuntu 不显示GRUB菜单 解决办法 还是在 上面那个文件 找到 # U

AFANTI_JK的博客 1万+

双系统重启时,怎么把Windows作为首选项?

如果你的电脑上安装了双系统,比如Ubuntu和Windows,那么在启动时,GRUB(GRand Unified Bootloader)会出现一个菜单,让你选择要启动哪个操作系统。如果你在执行这些步骤时遇到任何问题,你可以查阅相关的Ubuntu和GRUB文档,或者在网上搜索相关教程。首先,你需要找出Windows在GRUB菜单中的位置。如果你希望Windows作为默认的启动选项,你需要修改GRUB的配置。找到Windows的条目,注意它在列表中的位置,从0开始计数。最后,重启你的电脑。

m0_57236802的博客 3092

安装Linux后修改grub默认启动选项

grub是一种多操作系统启动程序,我们在安装了各种linux后,开机时出现的操作系统选择菜单通常是grub程序所显示的。        Linux安装后,默认的启动的操作系统就设定好了。在不同的时期,我们常常需要不同的默认启动系统。通过修改grub的配置文件可以容易的做到这一点。        grub配置文件通常是linux系统的/boot/grub/grub.conf文件,用vi、gnot

白及 3万+

ubuntu 显示或者隐藏 grub选择菜单

ubuntu 12.04。 在安装windows后安装的ubuntu双系统,在启动时候都会固定先显示grub选择菜单,可以选择不同版本的ubuntu的kernel来启动 但是对于单纯的ubuntu系统,在启动后却不会显示相应的菜单来让选择。 参照网络上搜索的资料,可以有以下方式来显示grub菜单(同理相信看完也了解如何隐藏了撒???): 启动时候一直按住shift键 以前的Ubuntu版本,启...

weixin_41666796的博客 8188

麒麟系统+Windows双系统修改启动顺序

麒麟系统+Windows双系统修改启动顺序

weixin_66313542的博客 2万+
上一篇: Bash字符串处理(与Java对照) - 12.字符串连接
下一篇: E138: 不能写入 viminfo 文件 /root/.viminfo
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值